windmill-components 1.532.0 → 1.542.4
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/components/AIProviderPicker.svelte +181 -0
- package/package/components/AIProviderPicker.svelte.d.ts +15 -0
- package/package/components/ArgInfo.svelte +2 -2
- package/package/components/ArgInput.svelte +60 -27
- package/package/components/ArgInput.svelte.d.ts +3 -3
- package/package/components/AssignableTagsInner.svelte +89 -3
- package/package/components/Auth0Setting.svelte +8 -3
- package/package/components/ConcurrentJobsChart.svelte +36 -48
- package/package/components/ConcurrentJobsChart.svelte.d.ts +8 -20
- package/package/components/CustomPopover.svelte.d.ts +1 -1
- package/package/components/Dev.svelte +5 -4
- package/package/components/DiffDrawer.svelte +2 -2
- package/package/components/DiffEditor.svelte +34 -37
- package/package/components/DiffEditor.svelte.d.ts +23 -39
- package/package/components/DropdownSelect.svelte +26 -0
- package/package/components/DropdownSelect.svelte.d.ts +11 -0
- package/package/components/DropdownV2Inner.svelte +1 -1
- package/package/components/{DynSelect.svelte → DynamicInput.svelte} +47 -15
- package/package/components/DynamicInput.svelte.d.ts +11 -0
- package/package/components/EditableSchemaForm.svelte +155 -140
- package/package/components/EditableSchemaForm.svelte.d.ts +6 -7
- package/package/components/Editor.svelte +101 -87
- package/package/components/Editor.svelte.d.ts +7 -1
- package/package/components/EditorBar.svelte +2 -5
- package/package/components/FlowBuilder.svelte +10 -7
- package/package/components/FlowLogRow.svelte +64 -0
- package/package/components/FlowLogRow.svelte.d.ts +15 -0
- package/package/components/FlowLogViewer.svelte +406 -373
- package/package/components/FlowLogViewer.svelte.d.ts +5 -1
- package/package/components/FlowLogViewerWrapper.svelte +44 -1
- package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
- package/package/components/FlowPreviewContent.svelte +3 -3
- package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
- package/package/components/FlowStatusViewer.svelte +28 -0
- package/package/components/FlowStatusViewerInner.svelte +106 -23
- package/package/components/FlowStatusViewerInner.svelte.d.ts +7 -0
- package/package/components/FolderPicker.svelte +1 -1
- package/package/components/InputTransformForm.svelte +20 -10
- package/package/components/JobArgs.svelte +1 -1
- package/package/components/JobLoader.svelte.d.ts +1 -1
- package/package/components/JobStatus.svelte +2 -0
- package/package/components/LogSnippetViewer.svelte +3 -3
- package/package/components/LogSnippetViewer.svelte.d.ts +1 -1
- package/package/components/LogViewer.svelte +87 -71
- package/package/components/LogViewer.svelte.d.ts +1 -0
- package/package/components/ModulePreview.svelte +2 -1
- package/package/components/ModulePreview.svelte.d.ts +1 -0
- package/package/components/ModulePreviewForm.svelte +72 -65
- package/package/components/ModulePreviewResultViewer.svelte +13 -18
- package/package/components/ModuleTest.svelte +6 -5
- package/package/components/ModuleTest.svelte.d.ts +1 -0
- package/package/components/OktaSetting.svelte +8 -3
- package/package/components/Path.svelte +7 -1
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/Portal.svelte +11 -7
- package/package/components/Portal.svelte.d.ts +19 -39
- package/package/components/PrefixedInput.svelte +120 -0
- package/package/components/PrefixedInput.svelte.d.ts +8 -0
- package/package/components/QueuePosition.svelte +81 -0
- package/package/components/QueuePosition.svelte.d.ts +8 -0
- package/package/components/ResourceNarrowing.svelte +13 -0
- package/package/components/ResourceNarrowing.svelte.d.ts +6 -0
- package/package/components/ResourceTypePicker.svelte +49 -74
- package/package/components/RunChart.svelte +74 -89
- package/package/components/RunChart.svelte.d.ts +10 -22
- package/package/components/RunForm.svelte +2 -2
- package/package/components/RunForm.svelte.d.ts +1 -1
- package/package/components/RunFormAdvancedPopup.svelte +13 -1
- package/package/components/S3FilePicker.svelte +1 -1
- package/package/components/SchemaForm.svelte +1 -2
- package/package/components/SchemaForm.svelte.d.ts +2 -2
- package/package/components/ScriptBuilder.svelte +3 -2
- package/package/components/ScriptEditor.svelte +25 -10
- package/package/components/ScriptEditor.svelte.d.ts +2 -1
- package/package/components/ServiceLogsInner.svelte +1 -1
- package/package/components/ShareModal.svelte.d.ts +1 -1
- package/package/components/SimpleEditor.svelte +4 -68
- package/package/components/StringTypeNarrowing.svelte +5 -10
- package/package/components/TemplateEditor.svelte +2 -16
- package/package/components/TimeAgo.svelte +1 -1
- package/package/components/TimeAgo.svelte.d.ts +1 -0
- package/package/components/Toggle.svelte +2 -1
- package/package/components/Toggle.svelte.d.ts +2 -1
- package/package/components/WorkerRepl.svelte +1 -1
- package/package/components/apps/components/display/AppNavbarItem.svelte +2 -1
- package/package/components/apps/components/display/table/AppAggridTable.svelte +44 -48
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte +101 -19
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +5 -2
- package/package/components/apps/components/display/table/utils.js +36 -5
- package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +10 -5
- package/package/components/apps/components/layout/AppModal.svelte +2 -2
- package/package/components/apps/editor/AppEditor.svelte +4 -3
- package/package/components/apps/editor/AppEditorHeader.svelte +0 -1
- package/package/components/apps/editor/GridViewer.svelte.d.ts +11 -4
- package/package/components/apps/editor/SettingsPanel.svelte +2 -2
- package/package/components/apps/editor/component/ComponentNavigation.svelte +3 -2
- package/package/components/apps/editor/componentsPanel/ListItem.svelte +2 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +0 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
- package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +29 -4
- package/package/components/apps/editor/settingsPanel/GridCondition.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/GridNavbar.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/GridTab.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +55 -53
- package/package/components/apps/editor/settingsPanel/TableActions.svelte +3 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +13 -5
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +30 -11
- package/package/components/assets/JobAssetsViewer.svelte +28 -24
- package/package/components/auditLogs/AuditLogsTable.svelte +2 -6
- package/package/components/chartjs-wrappers/Chart.svelte.d.ts +14 -7
- package/package/components/common/OnChange.svelte.d.ts +11 -4
- package/package/components/common/badge/Badge.svelte +9 -2
- package/package/components/common/badge/Badge.svelte.d.ts +2 -1
- package/package/components/common/button/model.d.ts +1 -1
- package/package/components/common/calendarPicker/CalendarPicker.svelte +5 -1
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +5 -4
- package/package/components/common/drawer/Disposable.svelte +45 -26
- package/package/components/common/drawer/Disposable.svelte.d.ts +12 -44
- package/package/components/common/drawer/Drawer.svelte +17 -14
- package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
- package/package/components/common/menu/MenuItem.svelte.d.ts +2 -2
- package/package/components/common/modal/Modal.svelte.d.ts +1 -1
- package/package/components/common/tabs/TabContent.svelte +2 -7
- package/package/components/common/tabs/TabContent.svelte.d.ts +5 -27
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +9 -3
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +8 -4
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
- package/package/components/copilot/MetadataGen.svelte +14 -3
- package/package/components/copilot/chat/AIChatInput.svelte +0 -1
- package/package/components/copilot/chat/AIChatManager.svelte.js +26 -104
- package/package/components/copilot/chat/AssistantMessage.svelte +0 -4
- package/package/components/copilot/chat/AvailableContextList.svelte +192 -66
- package/package/components/copilot/chat/AvailableContextList.svelte.d.ts +2 -2
- package/package/components/copilot/chat/ContextElementBadge.svelte +3 -3
- package/package/components/copilot/chat/ContextManager.svelte.js +36 -13
- package/package/components/copilot/chat/ContextTextarea.svelte +21 -48
- package/package/components/copilot/chat/ToolContentDisplay.svelte +10 -1
- package/package/components/copilot/chat/ToolExecutionDisplay.svelte +3 -3
- package/package/components/copilot/chat/anthropic.d.ts +15 -0
- package/package/components/copilot/chat/anthropic.js +208 -0
- package/package/components/copilot/chat/api/apiTools.d.ts +2 -2
- package/package/components/copilot/chat/api/apiTools.js +10 -7
- package/package/components/copilot/chat/api/core.d.ts +1 -1
- package/package/components/copilot/chat/api/core.js +7 -2
- package/package/components/copilot/chat/ask/core.d.ts +1 -1
- package/package/components/copilot/chat/ask/core.js +7 -2
- package/package/components/copilot/chat/context.d.ts +7 -2
- package/package/components/copilot/chat/flow/FlowAIChat.svelte +110 -8
- package/package/components/copilot/chat/flow/core.d.ts +12 -1
- package/package/components/copilot/chat/flow/core.js +133 -5
- package/package/components/copilot/chat/flow/uiIntents.d.ts +8 -0
- package/package/components/copilot/chat/flow/uiIntents.js +5 -0
- package/package/components/copilot/chat/flow/useUiIntent.d.ts +5 -0
- package/package/components/copilot/chat/flow/useUiIntent.js +12 -0
- package/package/components/copilot/chat/monaco-adapter.d.ts +23 -4
- package/package/components/copilot/chat/monaco-adapter.js +55 -16
- package/package/components/copilot/chat/navigator/core.d.ts +1 -1
- package/package/components/copilot/chat/navigator/core.js +7 -2
- package/package/components/copilot/chat/script/CodeDisplay.svelte +10 -111
- package/package/components/copilot/chat/script/core.d.ts +5 -4
- package/package/components/copilot/chat/script/core.js +134 -21
- package/package/components/copilot/chat/shared.d.ts +10 -9
- package/package/components/copilot/chat/shared.js +24 -12
- package/package/components/copilot/lib.d.ts +29 -8
- package/package/components/copilot/lib.js +211 -31
- package/package/components/copilot/shared.d.ts +1 -1
- package/package/components/copilot/shared.js +16 -10
- package/package/components/flows/FlowEditor.svelte +4 -2
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
- package/package/components/flows/FlowModuleIcon.svelte +8 -8
- package/package/components/flows/common/FlowCardHeader.svelte +4 -1
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte +6 -0
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte +6 -0
- package/package/components/flows/content/FlowEditorPanel.svelte +2 -1
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInput.svelte +36 -39
- package/package/components/flows/content/FlowInput.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowLoop.svelte +7 -0
- package/package/components/flows/content/FlowModuleComponent.svelte +42 -46
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +47 -17
- package/package/components/flows/content/FlowModuleScript.svelte +1 -1
- package/package/components/flows/content/FlowModuleSleep.svelte +4 -1
- package/package/components/flows/content/FlowModuleSuspend.svelte +15 -18
- package/package/components/flows/content/FlowModuleTimeout.svelte +50 -10
- package/package/components/flows/content/FlowModuleTimeout.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowRetries.svelte +108 -3
- package/package/components/flows/content/FlowRetries.svelte.d.ts +3 -2
- package/package/components/flows/content/FlowWhileLoop.svelte +6 -0
- package/package/components/flows/content/ScriptEditorDrawer.svelte +9 -11
- package/package/components/flows/dfs.d.ts +1 -1
- package/package/components/flows/dfs.js +6 -6
- package/package/components/flows/flowInfers.js +15 -42
- package/package/components/flows/flowStateUtils.svelte.js +1 -2
- package/package/components/flows/flowStore.d.ts +45 -1
- package/package/components/flows/flowStore.js +1 -1
- package/package/components/flows/map/FlowJobsMenu.svelte +3 -3
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +73 -80
- package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -1
- package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +1 -1
- package/package/components/flows/map/InsertModuleButton.svelte +1 -0
- package/package/components/flows/map/InsertModuleInner.svelte +12 -15
- package/package/components/flows/map/InsertModuleInner.svelte.d.ts +10 -9
- package/package/components/flows/map/MapItem.svelte +8 -4
- package/package/components/flows/map/VirtualItem.svelte +1 -1
- package/package/components/flows/pickers/TopLevelNode.svelte +1 -1
- package/package/components/flows/propPicker/InputPickerInner.svelte +5 -5
- package/package/components/flows/propPicker/OutputPickerInner.svelte +143 -118
- package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +7 -16
- package/package/components/flows/{testSteps.svelte.d.ts → stepsInputArgs.svelte.d.ts} +2 -1
- package/package/components/flows/{testSteps.svelte.js → stepsInputArgs.svelte.js} +15 -3
- package/package/components/flows/types.d.ts +16 -3
- package/package/components/flows/utils.js +3 -0
- package/package/components/git_sync/DetectionFlow.svelte +15 -17
- package/package/components/git_sync/GitSyncContext.svelte.js +1 -1
- package/package/components/git_sync/GitSyncRepositoryCard.svelte +0 -1
- package/package/components/graph/FlowGraphV2.svelte +1 -1
- package/package/components/graph/graphBuilder.svelte.d.ts +5 -1
- package/package/components/graph/renderers/edges/BaseEdge.svelte +9 -1
- package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +4 -1
- package/package/components/graph/renderers/nodes/AIToolNode.svelte +4 -4
- package/package/components/graph/renderers/nodes/BranchAllStart.svelte +2 -3
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +2 -3
- package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +71 -54
- package/package/components/graph/renderers/triggers/TriggerButton.svelte.d.ts +1 -1
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +3 -1
- package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +34 -24
- package/package/components/graph/renderers/triggers/TriggersWrapper.svelte.d.ts +1 -2
- package/package/components/home/ItemsList.svelte +17 -13
- package/package/components/home/TreeView.svelte +21 -27
- package/package/components/home/TreeView.svelte.d.ts +2 -29
- package/package/components/home/TreeViewRoot.svelte +11 -23
- package/package/components/home/TreeViewRoot.svelte.d.ts +15 -13
- package/package/components/icons/GitIcon.svelte +10 -2
- package/package/components/icons/GitIcon.svelte.d.ts +1 -0
- package/package/components/meltComponents/MeltButton.svelte.d.ts +1 -1
- package/package/components/meltComponents/Popover.svelte +23 -3
- package/package/components/meltComponents/Popover.svelte.d.ts +2 -1
- package/package/components/monacoLanguagesOptions.d.ts +3 -0
- package/package/components/monacoLanguagesOptions.js +109 -0
- package/package/components/propertyPicker/ObjectViewer.svelte +18 -5
- package/package/components/propertyPicker/PropPicker.svelte +1 -1
- package/package/components/propertyPicker/utils.js +14 -7
- package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +1 -1
- package/package/components/runs/JobRunsPreview.svelte +212 -177
- package/package/components/runs/JobsLoader.svelte +2 -2
- package/package/components/runs/JobsLoader.svelte.d.ts +1 -1
- package/package/components/runs/NoWorkerWithTagWarning.svelte +18 -5
- package/package/components/runs/RunBadges.svelte +100 -0
- package/package/components/runs/RunBadges.svelte.d.ts +12 -0
- package/package/components/runs/RunLabels.svelte +86 -0
- package/package/components/runs/RunLabels.svelte.d.ts +10 -0
- package/package/components/runs/RunOption.svelte +20 -0
- package/package/components/runs/RunOption.svelte.d.ts +10 -0
- package/package/components/runs/RunRow.svelte +239 -151
- package/package/components/runs/RunRow.svelte.d.ts +12 -9
- package/package/components/runs/RunsBatchActionsDropdown.svelte +13 -17
- package/package/components/runs/RunsBatchActionsDropdown.svelte.d.ts +5 -18
- package/package/components/runs/RunsFilter.svelte +369 -243
- package/package/components/runs/RunsFilter.svelte.d.ts +2 -0
- package/package/components/runs/RunsQueue.svelte +96 -25
- package/package/components/runs/RunsQueue.svelte.d.ts +7 -21
- package/package/components/runs/RunsTable.svelte +62 -71
- package/package/components/runs/RunsTable.svelte.d.ts +2 -1
- package/package/components/runs/runs-grid.css +95 -0
- package/package/components/schema/AddPropertyV2.svelte +2 -7
- package/package/components/schema/AddPropertyV2.svelte.d.ts +3 -20
- package/package/components/schema/EditableSchemaDrawer.svelte +121 -127
- package/package/components/schema/EditableSchemaDrawer.svelte.d.ts +2 -1
- package/package/components/schema/EditableSchemaSdkWrapper.svelte +16 -3
- package/package/components/schema/EditableSchemaSdkWrapper.svelte.d.ts +4 -1
- package/package/components/schema/EditableSchemaWrapper.svelte +3 -10
- package/package/components/schema/FlowPropertyEditor.svelte +195 -236
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
- package/package/components/schema/PropertyEditor.svelte +33 -35
- package/package/components/schema/SchemaFormDND.svelte +11 -10
- package/package/components/schema/SchemaFormDND.svelte.d.ts +4 -3
- package/package/components/schema/editable_schema_wrapper.d.ts +0 -3
- package/package/components/search/GlobalSearchModal.svelte +8 -1
- package/package/components/select/DraggableTags.svelte.d.ts +17 -7
- package/package/components/select/MultiSelect.svelte.d.ts +21 -11
- package/package/components/select/Select.svelte +2 -1
- package/package/components/select/Select.svelte.d.ts +25 -13
- package/package/components/select/SelectDropdown.svelte.d.ts +14 -7
- package/package/components/settings/PremiumInfo.svelte +7 -2
- package/package/components/settings/TokenDisplay.svelte +1 -1
- package/package/components/sidebar/OperatorMenu.svelte +5 -0
- package/package/components/sidebar/SidebarContent.svelte +48 -2
- package/package/components/sidebar/WorkspaceMenu.svelte +116 -17
- package/package/components/toast.js +6 -3
- package/package/components/triggers/AddTriggersButton.svelte +7 -6
- package/package/components/triggers/CaptureWrapper.svelte +21 -16
- package/package/components/triggers/CaptureWrapper.svelte.d.ts +1 -1
- package/package/components/triggers/TriggerLabel.svelte +8 -0
- package/package/components/triggers/TriggerTokens.svelte +1 -1
- package/package/components/triggers/TriggersEditor.svelte +9 -5
- package/package/components/triggers/TriggersTable.svelte +2 -2
- package/package/components/triggers/TriggersWrapper.svelte +17 -5
- package/package/components/triggers/TriggersWrapper.svelte.d.ts +3 -19
- package/package/components/{details/EmailTriggerCaptures.svelte → triggers/email/DefaultEmailCapture.svelte} +5 -5
- package/package/components/{details/EmailTriggerCaptures.svelte.d.ts → triggers/email/DefaultEmailCapture.svelte.d.ts} +4 -4
- package/package/components/{details/EmailTriggerConfigSection.svelte → triggers/email/DefaultEmailConfigSection.svelte} +24 -14
- package/package/components/triggers/email/DefaultEmailConfigSection.svelte.d.ts +13 -0
- package/package/components/triggers/email/DefaultEmailPanel.svelte +71 -0
- package/package/components/triggers/email/DefaultEmailPanel.svelte.d.ts +11 -0
- package/package/components/triggers/email/EmailCapture.svelte +39 -0
- package/package/components/triggers/email/EmailCapture.svelte.d.ts +43 -0
- package/package/components/triggers/email/EmailTriggerEditor.svelte +20 -0
- package/package/components/triggers/email/EmailTriggerEditor.svelte.d.ts +11 -0
- package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte +133 -0
- package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte.d.ts +14 -0
- package/package/components/triggers/email/EmailTriggerEditorInner.svelte +335 -0
- package/package/components/triggers/email/EmailTriggerEditorInner.svelte.d.ts +22 -0
- package/package/components/triggers/email/EmailTriggerPanel.svelte +61 -0
- package/package/components/triggers/email/EmailTriggerPanel.svelte.d.ts +14 -0
- package/package/components/triggers/email/utils.d.ts +4 -0
- package/package/components/triggers/email/utils.js +52 -0
- package/package/components/triggers/http/RouteEditorConfigSection.svelte +1 -1
- package/package/components/triggers/http/RouteEditorInner.svelte +1 -1
- package/package/components/triggers/http/utils.js +1 -1
- package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +23 -20
- package/package/components/triggers/nats/NatsTriggersConfigSection.svelte +15 -27
- package/package/components/triggers/nats/NatsTriggersConfigSection.svelte.d.ts +7 -5
- package/package/components/triggers/triggers.svelte.d.ts +1 -0
- package/package/components/triggers/triggers.svelte.js +24 -2
- package/package/components/triggers/utils.js +19 -5
- package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +16 -16
- package/package/components/triggers.d.ts +1 -1
- package/package/components/triggers.js +2 -0
- package/package/components/wizards/AgGridWizard.svelte +85 -80
- package/package/components/workspaceSettings/AISettings.svelte +74 -22
- package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -1
- package/package/components/workspaceSettings/CreateWorkspace.svelte +395 -0
- package/package/components/workspaceSettings/CreateWorkspace.svelte.d.ts +6 -0
- package/package/components/workspaceSettings/DucklakeSettings.svelte +3 -1
- package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +1 -1
- package/package/components/workspaceSettings/StorageSettings.svelte +69 -48
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +142 -3
- package/package/gen/schemas.gen.js +144 -3
- package/package/gen/services.gen.d.ts +129 -1
- package/package/gen/services.gen.js +267 -1
- package/package/gen/types.gen.d.ts +434 -8
- package/package/hubPaths.json +6 -2
- package/package/infer.js +1 -1
- package/package/keyboardChain.d.ts +5 -0
- package/package/keyboardChain.js +40 -0
- package/package/script_helpers.d.ts +2 -2
- package/package/script_helpers.js +2 -0
- package/package/services/JobManager.js +2 -2
- package/package/stores.d.ts +4 -1
- package/package/stores.js +16 -6
- package/package/utils/workspaceHierarchy.d.ts +27 -0
- package/package/utils/workspaceHierarchy.js +101 -0
- package/package/utils.d.ts +6 -3
- package/package/utils.js +30 -15
- package/package/workspace_settings.js +2 -3
- package/package.json +10 -12
- package/package/components/DynSelect.svelte.d.ts +0 -11
- package/package/components/ModulePreviewResultViewer.svelte.d.ts +0 -28
- package/package/components/ObjectTypeNarrowing.svelte +0 -18
- package/package/components/ObjectTypeNarrowing.svelte.d.ts +0 -22
- package/package/components/details/DetailPageTriggerPanel.svelte +0 -121
- package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +0 -20
- package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +0 -12
- package/package/components/details/EmailTriggerPanel.svelte +0 -76
- package/package/components/details/EmailTriggerPanel.svelte.d.ts +0 -26
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
<script lang="ts">import {
|
|
2
|
-
import { computeKind } from '../utils';
|
|
1
|
+
<script lang="ts">import { computeKind } from '../utils';
|
|
3
2
|
import Label from './Label.svelte';
|
|
4
3
|
import ResourceTypePicker from './ResourceTypePicker.svelte';
|
|
5
4
|
import Toggle from './Toggle.svelte';
|
|
@@ -21,6 +20,7 @@ const FORMATS = [
|
|
|
21
20
|
'uri',
|
|
22
21
|
'uuid',
|
|
23
22
|
'ipv4',
|
|
23
|
+
'ipv6',
|
|
24
24
|
'yaml',
|
|
25
25
|
'sql',
|
|
26
26
|
// 'time',
|
|
@@ -38,21 +38,16 @@ const FIELD_SETTINGS = [
|
|
|
38
38
|
['Format', 'format'],
|
|
39
39
|
['Pattern', 'pattern']
|
|
40
40
|
];
|
|
41
|
-
|
|
41
|
+
$effect(() => {
|
|
42
42
|
format =
|
|
43
43
|
kind == 'resource' ? (resource != undefined ? `resource-${resource}` : 'resource') : format;
|
|
44
44
|
});
|
|
45
|
-
|
|
45
|
+
$effect(() => {
|
|
46
46
|
pattern = patternStr == '' ? undefined : patternStr;
|
|
47
47
|
});
|
|
48
|
-
|
|
48
|
+
$effect(() => {
|
|
49
49
|
contentEncoding = kind == 'base64' ? 'base64' : undefined;
|
|
50
50
|
});
|
|
51
|
-
run(() => {
|
|
52
|
-
if (format == 'email') {
|
|
53
|
-
pattern = '^[\\w-+.]+@([\\w-]+\\.)+[\\w-]{2,63}$';
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
51
|
function add() {
|
|
57
52
|
if (enumLabels === undefined) {
|
|
58
53
|
enumLabels = {};
|
|
@@ -1,19 +1,5 @@
|
|
|
1
1
|
<script module>
|
|
2
2
|
import '@codingame/monaco-vscode-standalone-typescript-language-features'
|
|
3
|
-
|
|
4
|
-
languages.typescript.javascriptDefaults.setCompilerOptions({
|
|
5
|
-
target: languages.typescript.ScriptTarget.Latest,
|
|
6
|
-
allowNonTsExtensions: true,
|
|
7
|
-
noSemanticValidation: false,
|
|
8
|
-
noLib: true,
|
|
9
|
-
moduleResolution: languages.typescript.ModuleResolutionKind.NodeJs
|
|
10
|
-
})
|
|
11
|
-
languages.typescript.javascriptDefaults.setDiagnosticsOptions({
|
|
12
|
-
noSemanticValidation: false,
|
|
13
|
-
noSyntaxValidation: false,
|
|
14
|
-
noSuggestionDiagnostics: false,
|
|
15
|
-
diagnosticCodesToIgnore: [1108]
|
|
16
|
-
})
|
|
17
3
|
</script>
|
|
18
4
|
|
|
19
5
|
<script lang="ts">import { BROWSER } from 'esm-env';
|
|
@@ -28,6 +14,7 @@ import { writable } from 'svelte/store';
|
|
|
28
14
|
import { initializeVscode } from './vscode';
|
|
29
15
|
import EditorTheme from './EditorTheme.svelte';
|
|
30
16
|
import FakeMonacoPlaceHolder from './FakeMonacoPlaceHolder.svelte';
|
|
17
|
+
import { setMonacoJsonOptions } from './monacoLanguagesOptions';
|
|
31
18
|
export const conf = {
|
|
32
19
|
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
|
|
33
20
|
comments: {
|
|
@@ -381,9 +368,8 @@ let initialized = false;
|
|
|
381
368
|
let jsLoader = undefined;
|
|
382
369
|
let timeoutModel = undefined;
|
|
383
370
|
async function loadMonaco() {
|
|
384
|
-
|
|
371
|
+
setMonacoJsonOptions();
|
|
385
372
|
await initializeVscode('templateEditor');
|
|
386
|
-
console.log('initialized');
|
|
387
373
|
initialized = true;
|
|
388
374
|
languages.register({ id: 'template' });
|
|
389
375
|
// Register a tokens provider for the language
|
|
@@ -4,8 +4,8 @@ import { onDestroy, onMount } from 'svelte';
|
|
|
4
4
|
export let date;
|
|
5
5
|
export let agoOnlyIfRecent = false;
|
|
6
6
|
export let noDate = false;
|
|
7
|
+
export let isRecent = true;
|
|
7
8
|
let computedTimeAgo = undefined;
|
|
8
|
-
let isRecent = true;
|
|
9
9
|
let interval;
|
|
10
10
|
$: date && computeDate();
|
|
11
11
|
onMount(() => {
|
|
@@ -26,6 +26,7 @@ export let textDisabled = false;
|
|
|
26
26
|
class="{$$props.class || ''} z-auto flex flex-row items-center duration-50 {disabled
|
|
27
27
|
? 'grayscale opacity-50'
|
|
28
28
|
: 'cursor-pointer'}"
|
|
29
|
+
title={options?.title}
|
|
29
30
|
>
|
|
30
31
|
{#if Boolean(options?.left)}
|
|
31
32
|
<span
|
|
@@ -92,7 +93,7 @@ export let textDisabled = false;
|
|
|
92
93
|
class={twMerge(
|
|
93
94
|
'ml-2 font-medium duration-50 select-none',
|
|
94
95
|
bothOptions || textDisabled ? (checked ? 'text-primary' : 'text-disabled') : 'text-primary',
|
|
95
|
-
size === 'xs' || size === '2sm' ? 'text-xs' : 'text-sm',
|
|
96
|
+
size === 'xs' || size === '2sm' ? 'text-xs' : size === '2xs' ? 'text-xs' : 'text-sm',
|
|
96
97
|
textClass
|
|
97
98
|
)}
|
|
98
99
|
style={textStyle}
|
|
@@ -19,6 +19,7 @@ declare const Toggle: $$__sveltets_2_IsomorphicComponent<{
|
|
|
19
19
|
right?: string;
|
|
20
20
|
rightTooltip?: string;
|
|
21
21
|
rightDocumentationLink?: string;
|
|
22
|
+
title?: string;
|
|
22
23
|
} | undefined;
|
|
23
24
|
checked?: boolean | undefined;
|
|
24
25
|
disabled?: boolean | undefined;
|
|
@@ -33,7 +34,7 @@ declare const Toggle: $$__sveltets_2_IsomorphicComponent<{
|
|
|
33
34
|
size?: "sm" | "xs" | "2xs" | "2sm" | undefined;
|
|
34
35
|
textDisabled?: boolean | undefined;
|
|
35
36
|
}, {
|
|
36
|
-
click:
|
|
37
|
+
click: PointerEvent;
|
|
37
38
|
focus: FocusEvent;
|
|
38
39
|
change: CustomEvent<boolean>;
|
|
39
40
|
} & {
|
|
@@ -37,7 +37,7 @@ let homeDirectory = '~';
|
|
|
37
37
|
let pendingsJobs = $state([]);
|
|
38
38
|
let loadingPendingJobs = $state(false);
|
|
39
39
|
let isCancelingJob = $state(false);
|
|
40
|
-
let prompt = $derived(`$-${working_directory === '/' ? '/' : working_directory.split('/').
|
|
40
|
+
let prompt = $derived(`$-${working_directory === '/' ? '/' : working_directory.split('/').pop()} `);
|
|
41
41
|
let codeObj = $state(undefined);
|
|
42
42
|
function getNewWorkingDirectoryPath(currentDir, newPath) {
|
|
43
43
|
if (newPath.startsWith('/') || newPath.startsWith('~')) {
|
|
@@ -9,6 +9,7 @@ import { loadIcon } from '../icon';
|
|
|
9
9
|
import ResolveConfig from '../helpers/ResolveConfig.svelte';
|
|
10
10
|
import { twMerge } from 'tailwind-merge';
|
|
11
11
|
import ResolveNavbarItemPath from './ResolveNavbarItemPath.svelte';
|
|
12
|
+
import { urlParamsToObject } from '../../../../utils';
|
|
12
13
|
let { navbarItem, id, borderColor = undefined, index, output = $bindable(), orientation = undefined } = $props();
|
|
13
14
|
let icon = $state();
|
|
14
15
|
async function handleIcon() {
|
|
@@ -47,7 +48,7 @@ function getButtonProps(resolvedPath) {
|
|
|
47
48
|
const queryParams = url.search;
|
|
48
49
|
const hash = url.hash;
|
|
49
50
|
replaceStateFn?.(`${window.location.pathname}${queryParams}${hash}`);
|
|
50
|
-
$worldStore.outputsById['ctx'].query.set(
|
|
51
|
+
$worldStore.outputsById['ctx'].query.set(urlParamsToObject(new URLSearchParams(queryParams)));
|
|
51
52
|
$worldStore.outputsById['ctx'].hash.set(hash.substring(1));
|
|
52
53
|
$selected = resolvedPath === extractPathDetails() ? resolvedPath : undefined;
|
|
53
54
|
},
|
|
@@ -17,7 +17,7 @@ import { twMerge } from 'tailwind-merge';
|
|
|
17
17
|
import { deepCloneWithFunctions, initCss } from '../../../utils';
|
|
18
18
|
import ResolveStyle from '../../helpers/ResolveStyle.svelte';
|
|
19
19
|
import AppAggridTableActions from './AppAggridTableActions.svelte';
|
|
20
|
-
import { cellRendererFactory,
|
|
20
|
+
import { cellRendererFactory, transformColumnDefs } from './utils';
|
|
21
21
|
import Popover from '../../../../Popover.svelte';
|
|
22
22
|
import { Button } from '../../../../common';
|
|
23
23
|
import InputValue from '../../helpers/InputValue.svelte';
|
|
@@ -217,6 +217,12 @@ const tableActionsFactory = cellRendererFactory((c, p) => {
|
|
|
217
217
|
taComponent.props.rowIndex = params.node.rowIndex ?? 0;
|
|
218
218
|
taComponent.props.row = params.data;
|
|
219
219
|
taComponent.props.p = params;
|
|
220
|
+
const nextActions = computedOrder
|
|
221
|
+
? computedOrder
|
|
222
|
+
.map((key) => actions?.find((a) => a.id === key))
|
|
223
|
+
.filter(Boolean)
|
|
224
|
+
: actions;
|
|
225
|
+
taComponent.props.actions = nextActions;
|
|
220
226
|
}
|
|
221
227
|
};
|
|
222
228
|
});
|
|
@@ -229,31 +235,21 @@ function mountGrid() {
|
|
|
229
235
|
// console.log(resolvedConfig?.extraConfig)
|
|
230
236
|
if (eGui) {
|
|
231
237
|
try {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
cellClass: 'grid-cell-centered',
|
|
245
|
-
...(!resolvedConfig?.wrapActions ? { minWidth: 130 * actions?.length } : {})
|
|
246
|
-
});
|
|
247
|
-
}
|
|
238
|
+
const agColumnDefs = transformColumnDefs({
|
|
239
|
+
columnDefs: Array.isArray(resolvedConfig?.columnDefs) && resolvedConfig.columnDefs.every(isObject)
|
|
240
|
+
? [...resolvedConfig?.columnDefs]
|
|
241
|
+
: [],
|
|
242
|
+
actions,
|
|
243
|
+
customActionsHeader: resolvedConfig?.customActionsHeader,
|
|
244
|
+
wrapActions: resolvedConfig?.wrapActions,
|
|
245
|
+
tableActionsFactory,
|
|
246
|
+
onInvalidColumnDefs: (errors) => {
|
|
247
|
+
sendUserToast(`Invalid columnDefs: ${errors.join('\n')}`, true);
|
|
248
|
+
}
|
|
249
|
+
});
|
|
248
250
|
createGrid(eGui, {
|
|
249
251
|
rowData: value,
|
|
250
|
-
columnDefs:
|
|
251
|
-
let cr = defaultCellRenderer(fields.cellRendererType);
|
|
252
|
-
return {
|
|
253
|
-
...fields,
|
|
254
|
-
...(cr ? { cellRenderer: cr } : {})
|
|
255
|
-
};
|
|
256
|
-
}),
|
|
252
|
+
columnDefs: agColumnDefs,
|
|
257
253
|
pagination: resolvedConfig?.pagination,
|
|
258
254
|
paginationAutoPageSize: resolvedConfig?.pagination,
|
|
259
255
|
suppressPaginationPanel: true,
|
|
@@ -377,31 +373,21 @@ function updateValue() {
|
|
|
377
373
|
}
|
|
378
374
|
function updateOptions() {
|
|
379
375
|
try {
|
|
380
|
-
const
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
cellClass: 'grid-cell-centered',
|
|
393
|
-
...(!resolvedConfig?.wrapActions ? { minWidth: 130 * actions?.length } : {})
|
|
394
|
-
});
|
|
395
|
-
}
|
|
376
|
+
const agColumnDefs = transformColumnDefs({
|
|
377
|
+
columnDefs: Array.isArray(resolvedConfig?.columnDefs) && resolvedConfig.columnDefs.every(isObject)
|
|
378
|
+
? [...resolvedConfig?.columnDefs]
|
|
379
|
+
: [],
|
|
380
|
+
actions,
|
|
381
|
+
customActionsHeader: resolvedConfig?.customActionsHeader,
|
|
382
|
+
wrapActions: resolvedConfig?.wrapActions,
|
|
383
|
+
tableActionsFactory,
|
|
384
|
+
onInvalidColumnDefs: (errors) => {
|
|
385
|
+
sendUserToast(`Invalid columnDefs: ${errors.join('\n')}`, true);
|
|
386
|
+
}
|
|
387
|
+
});
|
|
396
388
|
api?.updateGridOptions({
|
|
397
389
|
rowData: value,
|
|
398
|
-
columnDefs:
|
|
399
|
-
let cr = defaultCellRenderer(fields.cellRendererType);
|
|
400
|
-
return {
|
|
401
|
-
...fields,
|
|
402
|
-
...(cr ? { cellRenderer: cr } : {})
|
|
403
|
-
};
|
|
404
|
-
}),
|
|
390
|
+
columnDefs: agColumnDefs,
|
|
405
391
|
pagination: resolvedConfig?.pagination,
|
|
406
392
|
paginationAutoPageSize: resolvedConfig?.pagination,
|
|
407
393
|
suppressPaginationPanel: true,
|
|
@@ -421,6 +407,10 @@ function updateOptions() {
|
|
|
421
407
|
...resolvedConfig?.extraConfig?.['defaultColDef']
|
|
422
408
|
}
|
|
423
409
|
});
|
|
410
|
+
// Force refresh to re-render cell renderers after actions change
|
|
411
|
+
api?.refreshCells({ force: true });
|
|
412
|
+
// Force complete redraw to clear stale inline styles
|
|
413
|
+
api?.redrawRows();
|
|
424
414
|
}
|
|
425
415
|
catch (e) {
|
|
426
416
|
console.error(e);
|
|
@@ -507,7 +497,13 @@ $effect(() => {
|
|
|
507
497
|
bind:loading
|
|
508
498
|
hideRefreshButton={true}
|
|
509
499
|
>
|
|
510
|
-
<SyncColumnDefs
|
|
500
|
+
<SyncColumnDefs
|
|
501
|
+
{id}
|
|
502
|
+
columnDefs={resolvedConfig.columnDefs}
|
|
503
|
+
{result}
|
|
504
|
+
actionsPresent={Array.isArray(actions) && actions.length > 0}
|
|
505
|
+
customActionsHeader={resolvedConfig?.customActionsHeader}
|
|
506
|
+
>
|
|
511
507
|
<div
|
|
512
508
|
class={twMerge(
|
|
513
509
|
'flex flex-col h-full component-wrapper divide-y',
|
|
@@ -5,37 +5,119 @@ import { RefreshCw } from 'lucide-svelte';
|
|
|
5
5
|
import Badge from '../../../../common/badge/Badge.svelte';
|
|
6
6
|
import Alert from '../../../../common/alert/Alert.svelte';
|
|
7
7
|
import { isObject } from '../../../../../utils';
|
|
8
|
-
let { id, columnDefs = [], result = [], allowColumnDefsActions = true, children } = $props();
|
|
8
|
+
let { id, columnDefs = [], result = [], allowColumnDefsActions = true, children, actionsPresent = false, customActionsHeader = undefined } = $props();
|
|
9
9
|
const { app, mode, selectedComponent } = getContext('AppViewerContext');
|
|
10
|
+
let syncInProgress = false;
|
|
11
|
+
function hasActionsPlaceholder(cols) {
|
|
12
|
+
if (!Array.isArray(cols))
|
|
13
|
+
return false;
|
|
14
|
+
return cols.findIndex((c) => c?._isActionsColumn === true) > -1;
|
|
15
|
+
}
|
|
16
|
+
function addActionsPlaceholder(cols) {
|
|
17
|
+
const hdr = customActionsHeader ?? 'Actions';
|
|
18
|
+
const placeholder = {
|
|
19
|
+
field: '__actions__',
|
|
20
|
+
_isActionsColumn: true,
|
|
21
|
+
headerName: hdr,
|
|
22
|
+
flex: 1
|
|
23
|
+
};
|
|
24
|
+
if (!Array.isArray(cols))
|
|
25
|
+
return [placeholder];
|
|
26
|
+
return [...cols, placeholder];
|
|
27
|
+
}
|
|
28
|
+
function removeActionsPlaceholder(cols) {
|
|
29
|
+
if (!Array.isArray(cols))
|
|
30
|
+
return [];
|
|
31
|
+
return cols.filter((c) => c?._isActionsColumn !== true);
|
|
32
|
+
}
|
|
33
|
+
async function ensureActionsColumn() {
|
|
34
|
+
// Only act in editor (DND) mode
|
|
35
|
+
if ($mode !== 'dnd')
|
|
36
|
+
return;
|
|
37
|
+
const gridItem = findGridItem($app, id);
|
|
38
|
+
if (!gridItem)
|
|
39
|
+
return;
|
|
40
|
+
// Type the configuration more safely
|
|
41
|
+
const rawConf = gridItem.data.configuration?.columnDefs;
|
|
42
|
+
if (!rawConf)
|
|
43
|
+
return;
|
|
44
|
+
// Type guard for configuration structure
|
|
45
|
+
const conf = rawConf;
|
|
46
|
+
if (!conf.type || (conf.type !== 'static' && conf.type !== 'evalv2'))
|
|
47
|
+
return;
|
|
48
|
+
let currentColumns;
|
|
49
|
+
if (conf.type === 'static') {
|
|
50
|
+
currentColumns = Array.isArray(conf.value) ? conf.value : [];
|
|
51
|
+
}
|
|
52
|
+
else if (conf.type === 'evalv2') {
|
|
53
|
+
try {
|
|
54
|
+
const parsed = JSON.parse(conf.expr ?? '[]');
|
|
55
|
+
currentColumns = Array.isArray(parsed) ? parsed : [];
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
console.warn('Failed to parse columnDefs expression:', e);
|
|
59
|
+
currentColumns = [];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const hasPlaceholder = hasActionsPlaceholder(currentColumns);
|
|
63
|
+
// Auto-sync logic: add missing actions column, remove when actions gone
|
|
64
|
+
const needsAdd = actionsPresent && !hasPlaceholder;
|
|
65
|
+
const needsRemove = !actionsPresent && hasPlaceholder;
|
|
66
|
+
if (!needsAdd && !needsRemove)
|
|
67
|
+
return;
|
|
68
|
+
let nextColumns = currentColumns || [];
|
|
69
|
+
if (needsAdd)
|
|
70
|
+
nextColumns = addActionsPlaceholder(nextColumns);
|
|
71
|
+
if (needsRemove)
|
|
72
|
+
nextColumns = removeActionsPlaceholder(nextColumns);
|
|
73
|
+
// Update configuration with proper typing
|
|
74
|
+
if (conf.type === 'static') {
|
|
75
|
+
conf.value = nextColumns;
|
|
76
|
+
}
|
|
77
|
+
else if (conf.type === 'evalv2') {
|
|
78
|
+
conf.expr = JSON.stringify(nextColumns);
|
|
79
|
+
}
|
|
80
|
+
await updateConfiguration();
|
|
81
|
+
}
|
|
82
|
+
$effect(() => {
|
|
83
|
+
const shouldSync = actionsPresent !== undefined || columnDefs?.length !== undefined;
|
|
84
|
+
if (shouldSync && !syncInProgress) {
|
|
85
|
+
syncInProgress = true;
|
|
86
|
+
ensureActionsColumn().finally(() => {
|
|
87
|
+
syncInProgress = false;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
});
|
|
10
91
|
async function syncColumns() {
|
|
11
|
-
|
|
92
|
+
const gridItem = findGridItem($app, id);
|
|
12
93
|
if (gridItem && result) {
|
|
13
94
|
const keys = Object.keys(result[0] ?? {}) ?? [];
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
95
|
+
const conf = gridItem.data.configuration.columnDefs;
|
|
96
|
+
const newColumns = keys.map((key) => ({
|
|
97
|
+
field: key,
|
|
98
|
+
headerName: key,
|
|
99
|
+
flex: 1
|
|
100
|
+
}));
|
|
101
|
+
if (conf.type === 'static') {
|
|
102
|
+
conf.value = newColumns;
|
|
20
103
|
}
|
|
21
|
-
else if (
|
|
22
|
-
|
|
23
|
-
field: key,
|
|
24
|
-
headerName: key,
|
|
25
|
-
flex: 1
|
|
26
|
-
})));
|
|
104
|
+
else if (conf.type === 'evalv2') {
|
|
105
|
+
conf.expr = JSON.stringify(newColumns);
|
|
27
106
|
}
|
|
28
107
|
await updateConfiguration();
|
|
29
108
|
}
|
|
30
109
|
}
|
|
31
110
|
async function setEmptyColumns() {
|
|
32
|
-
|
|
33
|
-
if (gridItem
|
|
34
|
-
|
|
111
|
+
const gridItem = findGridItem($app, id);
|
|
112
|
+
if (!gridItem)
|
|
113
|
+
return;
|
|
114
|
+
const conf = gridItem.data.configuration.columnDefs;
|
|
115
|
+
if (conf.type === 'static') {
|
|
116
|
+
conf.value = [];
|
|
35
117
|
await updateConfiguration();
|
|
36
118
|
}
|
|
37
|
-
else if (
|
|
38
|
-
|
|
119
|
+
else if (conf.type === 'evalv2') {
|
|
120
|
+
conf.expr = '[]';
|
|
39
121
|
await updateConfiguration();
|
|
40
122
|
}
|
|
41
123
|
}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import type { WindmillColumnDef } from './utils';
|
|
1
2
|
interface Props {
|
|
2
3
|
id: string;
|
|
3
|
-
columnDefs?:
|
|
4
|
-
result?: Array<any
|
|
4
|
+
columnDefs?: WindmillColumnDef[];
|
|
5
|
+
result?: Array<Record<string, any>> | undefined;
|
|
5
6
|
allowColumnDefsActions?: boolean;
|
|
6
7
|
children?: import('svelte').Snippet;
|
|
8
|
+
actionsPresent?: boolean;
|
|
9
|
+
customActionsHeader?: string | undefined;
|
|
7
10
|
}
|
|
8
11
|
declare const SyncColumnDefs: import("svelte").Component<Props, {}, "">;
|
|
9
12
|
type SyncColumnDefs = ReturnType<typeof SyncColumnDefs>;
|
|
@@ -76,6 +76,12 @@ export function transformColumnDefs({ columnDefs, actions, customActionsHeader,
|
|
|
76
76
|
return [];
|
|
77
77
|
}
|
|
78
78
|
let r = columnDefs?.filter((x) => x && !x.ignored) ?? [];
|
|
79
|
+
// Allow an explicit "actions" placeholder in columnDefs so users can manage it like any column.
|
|
80
|
+
// When present, replace it with the computed actions colDef. When not present but actions exist,
|
|
81
|
+
// we will append the actions column after validation below.
|
|
82
|
+
const actionsIndex = r.findIndex((c) => {
|
|
83
|
+
return c?._isActionsColumn === true;
|
|
84
|
+
});
|
|
79
85
|
if (onDelete) {
|
|
80
86
|
r.push({
|
|
81
87
|
field: 'delete',
|
|
@@ -118,15 +124,40 @@ export function transformColumnDefs({ columnDefs, actions, customActionsHeader,
|
|
|
118
124
|
});
|
|
119
125
|
}
|
|
120
126
|
if (actions?.length) {
|
|
121
|
-
|
|
122
|
-
|
|
127
|
+
const computedActionsCol = {
|
|
128
|
+
field: '__actions__',
|
|
129
|
+
_isActionsColumn: true,
|
|
130
|
+
headerName: 'Actions',
|
|
123
131
|
cellRenderer: tableActionsFactory,
|
|
124
132
|
autoHeight: true,
|
|
125
133
|
cellStyle: { textAlign: 'center' },
|
|
126
134
|
cellClass: 'grid-cell-centered',
|
|
127
|
-
|
|
128
|
-
...(
|
|
129
|
-
|
|
135
|
+
// Only lock position to right if user hasn't explicitly positioned the actions column
|
|
136
|
+
...(actionsIndex === -1 ? { lockPosition: 'right' } : {}),
|
|
137
|
+
// Set default minWidth based on number of actions (if not wrapping)
|
|
138
|
+
...(!wrapActions ? { minWidth: 130 * actions?.length } : {}),
|
|
139
|
+
// Respect user-specified overrides when placeholder present (these should override defaults)
|
|
140
|
+
...(actionsIndex > -1
|
|
141
|
+
? {
|
|
142
|
+
// keep width/pin/flex/align/hide from placeholder when provided
|
|
143
|
+
...(['width', 'minWidth', 'maxWidth', 'flex', 'pinned', 'headerName', 'cellStyle', 'cellClass', 'autoHeight', 'hide']
|
|
144
|
+
.reduce((acc, key) => {
|
|
145
|
+
if (r[actionsIndex] && r[actionsIndex][key] !== undefined)
|
|
146
|
+
acc[key] = r[actionsIndex][key];
|
|
147
|
+
return acc;
|
|
148
|
+
}, {}))
|
|
149
|
+
}
|
|
150
|
+
: {}),
|
|
151
|
+
...(customActionsHeader?.trim() ? { headerName: customActionsHeader } : {})
|
|
152
|
+
};
|
|
153
|
+
if (actionsIndex > -1) {
|
|
154
|
+
// Replace the placeholder with computed column
|
|
155
|
+
r.splice(actionsIndex, 1, computedActionsCol);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
// Backward compatible: append if not explicitly placed
|
|
159
|
+
r.push(computedActionsCol);
|
|
160
|
+
}
|
|
130
161
|
}
|
|
131
162
|
return r.map((fields) => {
|
|
132
163
|
let cr = defaultCellRenderer(fields.cellRendererType);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts">import DarkModeObserver from '../../../../DarkModeObserver.svelte';
|
|
2
|
-
import { untrack } from 'svelte';
|
|
2
|
+
import { onMount, untrack } from 'svelte';
|
|
3
3
|
/* Forked from MIT LICENSE
|
|
4
4
|
https://raw.githubusercontent.com/Canutin/svelte-currency-input/main/src/lib/CurrencyInput.svelte
|
|
5
5
|
*/
|
|
@@ -14,7 +14,12 @@ const DEFAULT_CLASS_FORMATTED = 'currencyInput__formatted';
|
|
|
14
14
|
const DEFAULT_CLASS_FORMATTED_POSITIVE = 'currencyInput__formatted--positive';
|
|
15
15
|
const DEFAULT_CLASS_FORMATTED_NEGATIVE = 'currencyInput__formatted--negative';
|
|
16
16
|
const DEFAULT_CLASS_FORMATTED_ZERO = 'currencyInput__formatted--zero';
|
|
17
|
-
let { value = $bindable(
|
|
17
|
+
let { value = $bindable(), locale = DEFAULT_LOCALE, currency = DEFAULT_CURRENCY, name = DEFAULT_NAME, required = false, disabled = false, placeholder = DEFAULT_VALUE, isNegativeAllowed = true, fractionDigits = DEFAULT_FRACTION_DIGITS, inputClasses = null, noColor = false, style = '' } = $props();
|
|
18
|
+
onMount(() => {
|
|
19
|
+
if (value == undefined) {
|
|
20
|
+
value = DEFAULT_VALUE;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
18
23
|
// Formats value as: e.g. $1,523.00 | -$1,523.00
|
|
19
24
|
const formatCurrency = (value, maximumFractionDigits, minimumFractionDigits) => {
|
|
20
25
|
try {
|
|
@@ -67,7 +72,7 @@ const setUnformattedValue = (event) => {
|
|
|
67
72
|
inputTarget = event.target;
|
|
68
73
|
// Reverse the value when minus is pressed
|
|
69
74
|
if (isNegativeAllowed && event.key === '-')
|
|
70
|
-
value = value * -1;
|
|
75
|
+
value = (value ?? DEFAULT_VALUE) * -1;
|
|
71
76
|
}
|
|
72
77
|
// Remove all characters that arent: numbers, commas, periods (or minus signs if `isNegativeAllowed`)
|
|
73
78
|
let unformattedValue = isNegativeAllowed
|
|
@@ -101,7 +106,7 @@ const setFormattedValue = () => {
|
|
|
101
106
|
const startCaretPosition = inputTarget?.selectionStart || 0;
|
|
102
107
|
const previousFormattedValueLength = formattedValue.length;
|
|
103
108
|
// Apply formatting to input
|
|
104
|
-
formattedValue = formatCurrency(value, fractionDigits, 0);
|
|
109
|
+
formattedValue = formatCurrency(value ?? DEFAULT_VALUE, fractionDigits, 0);
|
|
105
110
|
// Update `value` after formatting
|
|
106
111
|
setUnformattedValue();
|
|
107
112
|
// New caret position
|
|
@@ -115,7 +120,7 @@ const setFormattedValue = () => {
|
|
|
115
120
|
let formattedValue = $state('');
|
|
116
121
|
let formattedPlaceholder = placeholder !== null ? formatCurrency(placeholder, fractionDigits, fractionDigits) : '';
|
|
117
122
|
let isZero = $derived(value === 0);
|
|
118
|
-
let isNegative = $derived(value < 0);
|
|
123
|
+
let isNegative = $derived((value ?? DEFAULT_VALUE) < 0);
|
|
119
124
|
$effect(() => {
|
|
120
125
|
value;
|
|
121
126
|
untrack(() => {
|
|
@@ -121,11 +121,11 @@ async function getMenuElements() {
|
|
|
121
121
|
<Disposable
|
|
122
122
|
{id}
|
|
123
123
|
bind:this={disposable}
|
|
124
|
-
|
|
124
|
+
onOpen={() => {
|
|
125
125
|
outputs?.open.set(true)
|
|
126
126
|
onOpenRecomputeIds?.forEach((id) => $runnableComponents?.[id]?.cb?.map((cb) => cb?.()))
|
|
127
127
|
}}
|
|
128
|
-
|
|
128
|
+
onClose={() => {
|
|
129
129
|
outputs?.open.set(false)
|
|
130
130
|
onCloseRecomputeIds?.forEach((id) => $runnableComponents?.[id]?.cb?.map((cb) => cb?.()))
|
|
131
131
|
}}
|
|
@@ -12,7 +12,7 @@ import { Alert, Button, Tab } from '../../common';
|
|
|
12
12
|
import TabContent from '../../common/tabs/TabContent.svelte';
|
|
13
13
|
import Tabs from '../../common/tabs/TabsV2.svelte';
|
|
14
14
|
import { userStore, workspaceStore } from '../../../stores';
|
|
15
|
-
import { classNames, encodeState, getModifierKey, sendUserToast } from '../../../utils';
|
|
15
|
+
import { classNames, encodeState, getModifierKey, sendUserToast, urlParamsToObject } from '../../../utils';
|
|
16
16
|
import AppPreview from './AppPreview.svelte';
|
|
17
17
|
import ComponentList from './componentsPanel/ComponentList.svelte';
|
|
18
18
|
import ContextPanel from './contextPanel/ContextPanel.svelte';
|
|
@@ -60,7 +60,7 @@ let context = $state({
|
|
|
60
60
|
groups: $userStore?.groups,
|
|
61
61
|
username: $userStore?.username,
|
|
62
62
|
name: $userStore?.name,
|
|
63
|
-
query:
|
|
63
|
+
query: urlParamsToObject(new URL(window.location.href).searchParams),
|
|
64
64
|
hash: window.location.hash.substring(1),
|
|
65
65
|
workspace: $workspaceStore,
|
|
66
66
|
mode: 'editor',
|
|
@@ -643,7 +643,8 @@ $effect(() => {
|
|
|
643
643
|
untrack(() => setGridPanelSize($componentActive));
|
|
644
644
|
});
|
|
645
645
|
$effect(() => {
|
|
646
|
-
|
|
646
|
+
;
|
|
647
|
+
($connectingInput.opened, untrack(() => updatePannelInConnecting()));
|
|
647
648
|
});
|
|
648
649
|
$effect(() => {
|
|
649
650
|
forceDeactivatePanzoom = isModifierKeyPressed && handMode;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { EditorBreakpoint } from '../types';
|
|
2
2
|
import type { FilledItem } from '../svelte-grid/types';
|
|
3
|
-
declare
|
|
4
|
-
props
|
|
3
|
+
declare function $$render<T>(): {
|
|
4
|
+
props: {
|
|
5
5
|
items: FilledItem<T>[];
|
|
6
6
|
rowHeight?: number;
|
|
7
7
|
gap?: any;
|
|
@@ -13,11 +13,18 @@ declare class __sveltets_Render<T> {
|
|
|
13
13
|
parentWidth?: number | undefined;
|
|
14
14
|
children?: import("svelte").Snippet<[any]>;
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
exports: {};
|
|
17
|
+
bindings: "items" | "containerWidth";
|
|
18
|
+
slots: {};
|
|
19
|
+
events: {
|
|
17
20
|
resize: CustomEvent<any>;
|
|
18
21
|
mount: CustomEvent<any>;
|
|
19
22
|
};
|
|
20
|
-
|
|
23
|
+
};
|
|
24
|
+
declare class __sveltets_Render<T> {
|
|
25
|
+
props(): ReturnType<typeof $$render<T>>['props'];
|
|
26
|
+
events(): ReturnType<typeof $$render<T>>['events'];
|
|
27
|
+
slots(): ReturnType<typeof $$render<T>>['slots'];
|
|
21
28
|
bindings(): "items" | "containerWidth";
|
|
22
29
|
exports(): {};
|
|
23
30
|
}
|