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
|
@@ -303,7 +303,7 @@ let graph = $derived.by(() => {
|
|
|
303
303
|
suspendStatus,
|
|
304
304
|
flowHasChanged,
|
|
305
305
|
additionalAssetsMap: flowGraphAssetsCtx?.val.additionalAssetsMap
|
|
306
|
-
}, untrack(() => failureModule),
|
|
306
|
+
}, untrack(() => failureModule), preprocessorModule, eventHandler, success, $useDataflow, untrack(() => $selectedId), moving, simplifiableFlow, triggerNode ? path : undefined, expandedSubflows);
|
|
307
307
|
});
|
|
308
308
|
$effect(() => {
|
|
309
309
|
;
|
|
@@ -30,9 +30,13 @@ export type GraphEventHandlers = {
|
|
|
30
30
|
branch: number;
|
|
31
31
|
};
|
|
32
32
|
index: number;
|
|
33
|
-
kind
|
|
33
|
+
kind?: string;
|
|
34
34
|
inlineScript?: InlineScript;
|
|
35
35
|
script?: PathScript;
|
|
36
|
+
flow?: {
|
|
37
|
+
path: string;
|
|
38
|
+
summary: string;
|
|
39
|
+
};
|
|
36
40
|
isPreprocessor?: boolean;
|
|
37
41
|
}) => void;
|
|
38
42
|
deleteBranch: (detail: {
|
|
@@ -146,7 +146,15 @@ let suspendStatus = $derived(data?.suspendStatus);
|
|
|
146
146
|
{/if}
|
|
147
147
|
</EdgeLabel>
|
|
148
148
|
|
|
149
|
-
<BaseEdge
|
|
149
|
+
<BaseEdge
|
|
150
|
+
path={completeEdge}
|
|
151
|
+
{markerEnd}
|
|
152
|
+
class={$useDataflow ? 'hidden' : ''}
|
|
153
|
+
interactionWidth={0}
|
|
154
|
+
style={undefined}
|
|
155
|
+
label={undefined}
|
|
156
|
+
labelStyle={undefined}
|
|
157
|
+
/>
|
|
150
158
|
|
|
151
159
|
<style>
|
|
152
160
|
.edgeButtonContainer {
|
|
@@ -6,7 +6,10 @@ type $$ComponentProps = EdgeProps & {
|
|
|
6
6
|
data: {
|
|
7
7
|
insertable: boolean;
|
|
8
8
|
sourceId: string;
|
|
9
|
-
branch:
|
|
9
|
+
branch: {
|
|
10
|
+
rootId: string;
|
|
11
|
+
branch: number;
|
|
12
|
+
} | undefined;
|
|
10
13
|
targetId: string;
|
|
11
14
|
moving: string | undefined;
|
|
12
15
|
eventHandlers: GraphEventHandlers;
|
|
@@ -7,7 +7,7 @@ export const BELOW_ADDITIONAL_OFFSET = 19;
|
|
|
7
7
|
export const AI_TOOL_CALL_PREFIX = '_wm_ai_agent_tool_call';
|
|
8
8
|
export const AI_TOOL_MESSAGE_PREFIX = '_wm_ai_agent_message';
|
|
9
9
|
const ROW_WIDTH = 275;
|
|
10
|
-
const NEW_TOOL_NODE_WIDTH =
|
|
10
|
+
const NEW_TOOL_NODE_WIDTH = 50;
|
|
11
11
|
const MAX_TOOLS_PER_ROW = 2;
|
|
12
12
|
let computeAIToolNodesCache;
|
|
13
13
|
export function getToolCallId(idx, agentModuleId, moduleId) {
|
|
@@ -100,13 +100,13 @@ export function computeAIToolNodes(nodes, eventHandlers, insertable, flowModuleS
|
|
|
100
100
|
id: `${node.id}-tool-${tool.id}`,
|
|
101
101
|
width: inputToolWidth,
|
|
102
102
|
position: {
|
|
103
|
-
x: tools.length === 1
|
|
103
|
+
x: (tools.length === 1
|
|
104
104
|
? (ROW_WIDTH - inputToolWidth) / 2
|
|
105
105
|
: (i + 1) % 2 === 0
|
|
106
106
|
? inputToolWidth + inputToolXGap
|
|
107
107
|
: isLastRow && tools.length % 2 === 1
|
|
108
108
|
? (ROW_WIDTH - inputToolWidth) / 2
|
|
109
|
-
: 0,
|
|
109
|
+
: 0) + node.data.offset,
|
|
110
110
|
y: baseOffset +
|
|
111
111
|
rowOffset *
|
|
112
112
|
(agentActions
|
|
@@ -132,7 +132,7 @@ export function computeAIToolNodes(nodes, eventHandlers, insertable, flowModuleS
|
|
|
132
132
|
parentId: node.id,
|
|
133
133
|
width: NEW_TOOL_NODE_WIDTH,
|
|
134
134
|
position: {
|
|
135
|
-
x: (ROW_WIDTH - NEW_TOOL_NODE_WIDTH) / 2,
|
|
135
|
+
x: (ROW_WIDTH - NEW_TOOL_NODE_WIDTH) / 2 + node.data.offset,
|
|
136
136
|
y: baseOffset + rowOffset
|
|
137
137
|
}
|
|
138
138
|
});
|
|
@@ -29,9 +29,8 @@ let borderStatus = $derived(computeBorderStatus(data.branchIndex, 'branchall', d
|
|
|
29
29
|
{#if data.insertable}
|
|
30
30
|
<button
|
|
31
31
|
title="Delete branch"
|
|
32
|
-
class="z-50 absolute -
|
|
33
|
-
|
|
34
|
-
hover:border-red-700"
|
|
32
|
+
class="z-50 absolute -translate-y-[100%] top-1 -right-1 rounded-md p-1 center-center text-primary
|
|
33
|
+
bg-surface duration-0 hover:bg-red-400 hover:text-white shadow-md"
|
|
35
34
|
onclick={stopPropagation(
|
|
36
35
|
preventDefault(() => {
|
|
37
36
|
data.eventHandlers.deleteBranch(
|
|
@@ -25,9 +25,8 @@ let borderStatus = $derived(computeBorderStatus(data.branchIndex + 1, 'branchone
|
|
|
25
25
|
{#if data.insertable}
|
|
26
26
|
<button
|
|
27
27
|
title="Delete branch"
|
|
28
|
-
class="z-50 absolute -
|
|
29
|
-
|
|
30
|
-
hover:border-red-700"
|
|
28
|
+
class="z-50 absolute -translate-y-[100%] top-1 -right-1 rounded-md p-1 center-center text-primary
|
|
29
|
+
bg-surface duration-0 hover:bg-red-400 hover:text-white shadow-md"
|
|
31
30
|
onclick={stopPropagation(
|
|
32
31
|
preventDefault(() => {
|
|
33
32
|
data.eventHandlers.deleteBranch(
|
|
@@ -1,64 +1,81 @@
|
|
|
1
|
-
<script lang="ts">import {
|
|
1
|
+
<script lang="ts">import { preventDefault, stopPropagation } from 'svelte/legacy';
|
|
2
|
+
import { twMerge } from 'tailwind-merge';
|
|
2
3
|
import {} from '../../graphBuilder.svelte';
|
|
3
|
-
import NodeWrapper from './NodeWrapper.svelte';
|
|
4
|
-
import Popover from '../../../meltComponents/Popover.svelte';
|
|
5
4
|
import InsertModuleInner from '../../../flows/map/InsertModuleInner.svelte';
|
|
5
|
+
import { Cross } from 'lucide-svelte';
|
|
6
|
+
import PopupV2 from '../../../common/popup/PopupV2.svelte';
|
|
7
|
+
import { flip, offset } from 'svelte-floating-ui/dom';
|
|
6
8
|
let funcDesc = $state('');
|
|
7
9
|
let { data } = $props();
|
|
10
|
+
let floatingConfig = {
|
|
11
|
+
strategy: 'fixed',
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
placement: 'bottom-center',
|
|
14
|
+
middleware: [offset(8), flip()],
|
|
15
|
+
autoUpdate: true
|
|
16
|
+
};
|
|
8
17
|
</script>
|
|
9
18
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
-
|
|
19
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
20
|
+
<PopupV2 {floatingConfig} target="#flow-editor">
|
|
21
|
+
{#snippet button({ pointerdown, pointerup })}
|
|
22
|
+
<button
|
|
23
|
+
title={`Add 'tool'
|
|
24
|
+
}`}
|
|
25
|
+
type="button"
|
|
16
26
|
class={twMerge(
|
|
17
|
-
'!w-full
|
|
18
|
-
'hover:bg-surface-hover'
|
|
27
|
+
'!w-full h-6 flex items-center justify-center !outline-[1px] outline dark:outline-gray-500 outline-gray-300 text-secondary bg-surface focus:outline-none hover:bg-surface-hover rounded'
|
|
19
28
|
)}
|
|
20
|
-
|
|
29
|
+
onpointerdown={stopPropagation(
|
|
30
|
+
preventDefault(() => {
|
|
31
|
+
pointerdown()
|
|
32
|
+
})
|
|
33
|
+
)}
|
|
34
|
+
onpointerup={pointerup}
|
|
21
35
|
>
|
|
22
|
-
<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
36
|
+
<div class="flex flex-row items-center gap-1 font-medium text-2xs">
|
|
37
|
+
<Cross size={12} />
|
|
38
|
+
tool
|
|
39
|
+
</div>
|
|
40
|
+
</button>
|
|
41
|
+
{/snippet}
|
|
42
|
+
{#snippet children({ close })}
|
|
43
|
+
<InsertModuleInner
|
|
44
|
+
bind:funcDesc
|
|
45
|
+
scriptOnly
|
|
46
|
+
on:close={() => {
|
|
47
|
+
close()
|
|
48
|
+
}}
|
|
49
|
+
on:new={(e) => {
|
|
50
|
+
data.eventHandlers.insert({
|
|
51
|
+
index: -1, // ignored when agentId is set
|
|
52
|
+
agentId: data.agentModuleId,
|
|
53
|
+
...e.detail
|
|
54
|
+
})
|
|
55
|
+
close()
|
|
56
|
+
}}
|
|
57
|
+
on:insert={(e) => {
|
|
58
|
+
data.eventHandlers.insert({
|
|
59
|
+
index: -1, // ignored when agentId is set
|
|
60
|
+
agentId: data.agentModuleId,
|
|
61
|
+
...e.detail
|
|
62
|
+
})
|
|
63
|
+
close()
|
|
64
|
+
}}
|
|
65
|
+
on:pickScript={(e) => {
|
|
66
|
+
data.eventHandlers.insert({
|
|
67
|
+
index: -1, // ignored when agentId is set
|
|
68
|
+
agentId: data.agentModuleId,
|
|
69
|
+
kind: e.detail.kind,
|
|
70
|
+
script: {
|
|
71
|
+
...e.detail,
|
|
72
|
+
summary: e.detail.summary
|
|
73
|
+
? e.detail.summary.replace(/\s/, '_').replace(/[^a-zA-Z0-9_]/g, '')
|
|
74
|
+
: e.detail.path.split('/').pop()
|
|
75
|
+
}
|
|
76
|
+
})
|
|
77
|
+
close()
|
|
78
|
+
}}
|
|
79
|
+
/>
|
|
63
80
|
{/snippet}
|
|
64
|
-
</
|
|
81
|
+
</PopupV2>
|
|
@@ -23,6 +23,7 @@ const triggerTypeConfig = {
|
|
|
23
23
|
websocket: { icon: Unplug, countKey: 'websocket_count' },
|
|
24
24
|
postgres: { icon: Database, countKey: 'postgres_count' },
|
|
25
25
|
kafka: { icon: KafkaIcon, countKey: 'kafka_count', disabled: !$enterpriseLicense },
|
|
26
|
+
default_email: { icon: Mail, countKey: 'default_email_count' },
|
|
26
27
|
email: { icon: Mail, countKey: 'email_count' },
|
|
27
28
|
nats: { icon: NatsIcon, countKey: 'nats_count', disabled: !$enterpriseLicense },
|
|
28
29
|
mqtt: { icon: MqttIcon, countKey: 'mqtt_count', disabled: !$enterpriseLicense },
|
|
@@ -38,11 +39,12 @@ const allTypes = [
|
|
|
38
39
|
'websocket',
|
|
39
40
|
'postgres',
|
|
40
41
|
'kafka',
|
|
41
|
-
'
|
|
42
|
+
'default_email',
|
|
42
43
|
'nats',
|
|
43
44
|
'mqtt',
|
|
44
45
|
'sqs',
|
|
45
46
|
'gcp',
|
|
47
|
+
'email',
|
|
46
48
|
'poll',
|
|
47
49
|
'cli'
|
|
48
50
|
];
|
|
@@ -5,15 +5,25 @@ import { Plus } from 'lucide-svelte';
|
|
|
5
5
|
import InsertModuleInner from '../../../flows/map/InsertModuleInner.svelte';
|
|
6
6
|
import AddTriggersButton from '../../../triggers/AddTriggersButton.svelte';
|
|
7
7
|
import { twMerge } from 'tailwind-merge';
|
|
8
|
+
import Portal from '../../../Portal.svelte';
|
|
9
|
+
import { flip, offset } from 'svelte-floating-ui/dom';
|
|
10
|
+
import { createFloatingActions } from 'svelte-floating-ui';
|
|
8
11
|
let { path, newItem, selected, isEditor = false, disableAi = false, bgColor, bgHoverColor = '', showDraft, onSelect, onAddDraftTrigger } = $props();
|
|
9
12
|
let showTriggerScriptPicker = $state(false);
|
|
10
13
|
let numberOfTriggers = $state(0);
|
|
11
14
|
const dispatch = createEventDispatcher();
|
|
12
15
|
let hover = $state(false);
|
|
13
|
-
let
|
|
16
|
+
let floatingConfig = {
|
|
17
|
+
strategy: 'fixed',
|
|
18
|
+
// @ts-ignore
|
|
19
|
+
placement: 'bottom',
|
|
20
|
+
middleware: [offset(8), flip()],
|
|
21
|
+
autoUpdate: true
|
|
22
|
+
};
|
|
23
|
+
const [floatingRef, floatingContent] = createFloatingActions(floatingConfig);
|
|
14
24
|
</script>
|
|
15
25
|
|
|
16
|
-
<div style={`width: ${NODE.width}px;`}>
|
|
26
|
+
<div style={`width: ${NODE.width}px;`} use:floatingRef>
|
|
17
27
|
<button
|
|
18
28
|
style="background-color: {hover && bgHoverColor ? bgHoverColor : bgColor};"
|
|
19
29
|
class="relative flex w-full flex-row gap-1.5 px-2 p-1 items-center justify-center rounded-sm {selected
|
|
@@ -48,15 +58,10 @@ let addTriggersButton = $state(undefined);
|
|
|
48
58
|
|
|
49
59
|
{#if isEditor}
|
|
50
60
|
<AddTriggersButton
|
|
51
|
-
bind:this={addTriggersButton}
|
|
52
61
|
onAddScheduledPoll={() => {
|
|
53
62
|
showTriggerScriptPicker = true
|
|
54
63
|
}}
|
|
55
64
|
class="w-fit h-fit"
|
|
56
|
-
triggerScriptPicker={showTriggerScriptPicker ? triggerScriptPicker : undefined}
|
|
57
|
-
onClose={() => {
|
|
58
|
-
showTriggerScriptPicker = false
|
|
59
|
-
}}
|
|
60
65
|
isEditor
|
|
61
66
|
{onAddDraftTrigger}
|
|
62
67
|
>
|
|
@@ -70,20 +75,25 @@ let addTriggersButton = $state(undefined);
|
|
|
70
75
|
</button>
|
|
71
76
|
</div>
|
|
72
77
|
|
|
73
|
-
{#
|
|
74
|
-
<
|
|
75
|
-
<
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
78
|
+
{#if showTriggerScriptPicker}
|
|
79
|
+
<Portal target="#flow-editor">
|
|
80
|
+
<div
|
|
81
|
+
class="border rounded-lg shadow-lg bg-surface z5000"
|
|
82
|
+
style="position:absolute"
|
|
83
|
+
use:floatingContent
|
|
84
|
+
>
|
|
85
|
+
<InsertModuleInner
|
|
86
|
+
{disableAi}
|
|
87
|
+
on:new={(e) => {
|
|
88
|
+
showTriggerScriptPicker = false
|
|
89
|
+
dispatch('new', e.detail)
|
|
90
|
+
}}
|
|
91
|
+
on:pickScript={(e) => {
|
|
92
|
+
showTriggerScriptPicker = false
|
|
93
|
+
dispatch('pickScript', e.detail)
|
|
94
|
+
}}
|
|
95
|
+
kind="trigger"
|
|
96
|
+
/>
|
|
97
|
+
</div>
|
|
98
|
+
</Portal>
|
|
99
|
+
{/if}
|
|
@@ -25,10 +25,9 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
25
25
|
z_$$bindings?: Bindings;
|
|
26
26
|
}
|
|
27
27
|
declare const TriggersWrapper: $$__sveltets_2_IsomorphicComponent<Props, {
|
|
28
|
+
select: CustomEvent<any>;
|
|
28
29
|
new: CustomEvent<any>;
|
|
29
30
|
pickScript: CustomEvent<any>;
|
|
30
|
-
select: CustomEvent<any>;
|
|
31
|
-
openScheduledPoll: CustomEvent<any>;
|
|
32
31
|
} & {
|
|
33
32
|
[evt: string]: CustomEvent<any>;
|
|
34
33
|
}, {}, {}, "">;
|
|
@@ -83,15 +83,14 @@ async function loadRawApps() {
|
|
|
83
83
|
});
|
|
84
84
|
loading = false;
|
|
85
85
|
}
|
|
86
|
-
function filterItemsPathsBaseOnUserFilters(item, filterUserFolders) {
|
|
87
|
-
if (
|
|
86
|
+
function filterItemsPathsBaseOnUserFilters(item, filterUserFolders, filterUserFoldersType) {
|
|
87
|
+
if (!filterUserFoldersType || !filterUserFolders)
|
|
88
88
|
return true;
|
|
89
|
-
if (
|
|
90
|
-
return
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
89
|
+
if (filterUserFoldersType === 'only f/*')
|
|
90
|
+
return item.path.startsWith('f/');
|
|
91
|
+
if (filterUserFoldersType === 'u/username and f/*')
|
|
92
|
+
return item.path.startsWith('f/') || item.path.startsWith(`u/${$userStore?.username}/`);
|
|
93
|
+
return true; // should not happen
|
|
95
94
|
}
|
|
96
95
|
let ownerFilter = $state(undefined);
|
|
97
96
|
const cmp = new Intl.Collator('en').compare;
|
|
@@ -138,6 +137,11 @@ const TREE_VIEW_SETTING_NAME = 'treeView';
|
|
|
138
137
|
const FILTER_USER_FOLDER_SETTING_NAME = 'filterUserFolders';
|
|
139
138
|
const INCLUDE_WITHOUT_MAIN_SETTING_NAME = 'includeWithoutMain';
|
|
140
139
|
let treeView = $state(getLocalSetting(TREE_VIEW_SETTING_NAME) == 'true');
|
|
140
|
+
let filterUserFoldersType = $derived($userStore?.is_super_admin && $userStore.username.includes('@')
|
|
141
|
+
? 'only f/*'
|
|
142
|
+
: $userStore?.is_admin || $userStore?.is_super_admin
|
|
143
|
+
? 'u/username and f/*'
|
|
144
|
+
: undefined);
|
|
141
145
|
let filterUserFolders = $state(getLocalSetting(FILTER_USER_FOLDER_SETTING_NAME) == 'true');
|
|
142
146
|
let includeWithoutMain = $state(getLocalSetting(INCLUDE_WITHOUT_MAIN_SETTING_NAME)
|
|
143
147
|
? getLocalSetting(INCLUDE_WITHOUT_MAIN_SETTING_NAME) == 'true'
|
|
@@ -206,9 +210,9 @@ $effect(() => {
|
|
|
206
210
|
let preFilteredItems = $derived(ownerFilter != undefined
|
|
207
211
|
? combinedItems?.filter((x) => x.path.startsWith(ownerFilter + '/') &&
|
|
208
212
|
(x.type == itemKind || itemKind == 'all') &&
|
|
209
|
-
filterItemsPathsBaseOnUserFilters(x, filterUserFolders))
|
|
213
|
+
filterItemsPathsBaseOnUserFilters(x, filterUserFolders, filterUserFoldersType))
|
|
210
214
|
: combinedItems?.filter((x) => (x.type == itemKind || itemKind == 'all') &&
|
|
211
|
-
filterItemsPathsBaseOnUserFilters(x, filterUserFolders)));
|
|
215
|
+
filterItemsPathsBaseOnUserFilters(x, filterUserFolders, filterUserFoldersType)));
|
|
212
216
|
let items = $derived(filter !== '' ? filteredItems : preFilteredItems);
|
|
213
217
|
$effect(() => {
|
|
214
218
|
items && resetScroll();
|
|
@@ -385,13 +389,13 @@ $effect(() => {
|
|
|
385
389
|
</div>
|
|
386
390
|
{/snippet}
|
|
387
391
|
</Popover>
|
|
388
|
-
{#if
|
|
392
|
+
{#if filterUserFoldersType === 'only f/*'}
|
|
389
393
|
<Toggle size="xs" bind:checked={filterUserFolders} options={{ right: 'Only f/*' }} />
|
|
390
|
-
{:else if
|
|
394
|
+
{:else if filterUserFoldersType === 'u/username and f/*'}
|
|
391
395
|
<Toggle
|
|
392
396
|
size="xs"
|
|
393
397
|
bind:checked={filterUserFolders}
|
|
394
|
-
options={{ right: `Only u/${$userStore
|
|
398
|
+
options={{ right: `Only u/${$userStore?.username} and f/*` }}
|
|
395
399
|
/>
|
|
396
400
|
{/if}
|
|
397
401
|
<Toggle size="xs" bind:checked={treeView} options={{ right: 'Tree view' }} />
|
|
@@ -1,30 +1,24 @@
|
|
|
1
|
-
<
|
|
2
|
-
|
|
3
|
-
<script lang="ts">import { ChevronDown, ChevronUp, Folder, FolderTree, User } from 'lucide-svelte';
|
|
1
|
+
<script lang="ts">import TreeView from './TreeView.svelte';
|
|
2
|
+
import { ChevronDown, ChevronUp, Folder, FolderTree, User } from 'lucide-svelte';
|
|
4
3
|
import Item from './Item.svelte';
|
|
5
4
|
import { twMerge } from 'tailwind-merge';
|
|
6
5
|
import { pluralize } from '../../utils';
|
|
7
|
-
|
|
8
|
-
export let collapseAll;
|
|
9
|
-
export let depth = 0;
|
|
10
|
-
export let showCode;
|
|
11
|
-
export let isSearching = false;
|
|
6
|
+
let { item, collapseAll, depth = 0, showCode, isSearching = false } = $props();
|
|
12
7
|
const isFolder = (i) => i && 'folderName' in i;
|
|
13
8
|
const isUser = (i) => i && 'username' in i;
|
|
14
|
-
let opened = true;
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
let opened = $state(true);
|
|
10
|
+
let showMax = $state(15);
|
|
11
|
+
$effect(() => {
|
|
17
12
|
opened = !collapseAll;
|
|
18
|
-
}
|
|
19
|
-
let showMax = 15;
|
|
13
|
+
});
|
|
20
14
|
</script>
|
|
21
15
|
|
|
22
16
|
{#if isFolder(item)}
|
|
23
17
|
<div>
|
|
24
|
-
<!-- svelte-ignore
|
|
25
|
-
<!-- svelte-ignore
|
|
18
|
+
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
|
19
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
26
20
|
<div
|
|
27
|
-
|
|
21
|
+
onclick={() => (opened = !opened)}
|
|
28
22
|
class="px-4 py-2 border-b w-full flex flex-row items-center justify-between cursor-pointer"
|
|
29
23
|
>
|
|
30
24
|
<div
|
|
@@ -61,7 +55,7 @@ let showMax = 15;
|
|
|
61
55
|
{#if opened || isSearching}
|
|
62
56
|
<div>
|
|
63
57
|
{#each item.items.slice(0, showMax) as subItem ((subItem['path'] ? subItem['type'] + '__' + subItem['path'] : undefined) ?? 'folder__' + subItem['folderName'])}
|
|
64
|
-
<
|
|
58
|
+
<TreeView
|
|
65
59
|
{isSearching}
|
|
66
60
|
{collapseAll}
|
|
67
61
|
item={subItem}
|
|
@@ -75,11 +69,11 @@ let showMax = 15;
|
|
|
75
69
|
/>
|
|
76
70
|
{/each}
|
|
77
71
|
{#if showMax < item.items.length}
|
|
78
|
-
<!-- svelte-ignore
|
|
79
|
-
<!-- svelte-ignore
|
|
72
|
+
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
|
73
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
80
74
|
<div
|
|
81
75
|
class="text-center text-sm text-secondary cursor-pointer hover:text-primary"
|
|
82
|
-
|
|
76
|
+
onclick={() => {
|
|
83
77
|
if (isFolder(item)) {
|
|
84
78
|
showMax += Math.min(30, item.items.length - showMax)
|
|
85
79
|
showMax = showMax
|
|
@@ -94,10 +88,10 @@ let showMax = 15;
|
|
|
94
88
|
</div>
|
|
95
89
|
{:else if isUser(item)}
|
|
96
90
|
<div>
|
|
97
|
-
<!-- svelte-ignore
|
|
98
|
-
<!-- svelte-ignore
|
|
91
|
+
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
|
92
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
99
93
|
<div
|
|
100
|
-
|
|
94
|
+
onclick={() => (opened = !opened)}
|
|
101
95
|
class="px-4 py-2 border-b w-full flex flex-row items-center justify-between cursor-pointer"
|
|
102
96
|
>
|
|
103
97
|
<div
|
|
@@ -128,7 +122,7 @@ let showMax = 15;
|
|
|
128
122
|
{#if opened || isSearching}
|
|
129
123
|
<div>
|
|
130
124
|
{#each item.items.slice(0, showMax) as subItem ((subItem['path'] ? subItem['type'] + '__' + subItem['path'] : undefined) ?? 'folder__' + subItem['folderName'])}
|
|
131
|
-
<
|
|
125
|
+
<TreeView
|
|
132
126
|
{collapseAll}
|
|
133
127
|
item={subItem}
|
|
134
128
|
on:scriptChanged
|
|
@@ -141,11 +135,11 @@ let showMax = 15;
|
|
|
141
135
|
/>
|
|
142
136
|
{/each}
|
|
143
137
|
{#if showMax < item.items.length}
|
|
144
|
-
<!-- svelte-ignore
|
|
145
|
-
<!-- svelte-ignore
|
|
138
|
+
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
|
139
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
146
140
|
<div
|
|
147
141
|
class="text-center text-sm text-secondary cursor-pointer py-2 hover:text-primary"
|
|
148
|
-
|
|
142
|
+
onclick={() => {
|
|
149
143
|
if (isUser(item)) {
|
|
150
144
|
showMax += Math.min(30, item.items.length - showMax)
|
|
151
145
|
}
|
|
@@ -1,31 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
-
$$bindings?: Bindings;
|
|
5
|
-
} & Exports;
|
|
6
|
-
(internal: unknown, props: Props & {
|
|
7
|
-
$$events?: Events;
|
|
8
|
-
$$slots?: Slots;
|
|
9
|
-
}): Exports & {
|
|
10
|
-
$set?: any;
|
|
11
|
-
$on?: any;
|
|
12
|
-
};
|
|
13
|
-
z_$$bindings?: Bindings;
|
|
14
|
-
}
|
|
15
|
-
declare const TreeView: $$__sveltets_2_IsomorphicComponent<{
|
|
16
|
-
item: ItemType | FolderItem | UserItem;
|
|
17
|
-
collapseAll: boolean;
|
|
18
|
-
depth?: number;
|
|
19
|
-
showCode: (path: string, summary: string) => void;
|
|
20
|
-
isSearching?: boolean;
|
|
21
|
-
}, {
|
|
22
|
-
scriptChanged: CustomEvent<any>;
|
|
23
|
-
flowChanged: CustomEvent<any>;
|
|
24
|
-
appChanged: CustomEvent<any>;
|
|
25
|
-
rawAppChanged: CustomEvent<any>;
|
|
26
|
-
reload: CustomEvent<any>;
|
|
27
|
-
} & {
|
|
28
|
-
[evt: string]: CustomEvent<any>;
|
|
29
|
-
}, {}, {}, string>;
|
|
1
|
+
import TreeView from './TreeView.svelte';
|
|
2
|
+
declare const TreeView: any;
|
|
30
3
|
type TreeView = InstanceType<typeof TreeView>;
|
|
31
4
|
export default TreeView;
|
|
@@ -1,29 +1,17 @@
|
|
|
1
|
-
<script lang="ts">import
|
|
1
|
+
<script lang="ts">import { untrack } from 'svelte';
|
|
2
|
+
import TreeView from './TreeView.svelte';
|
|
2
3
|
import { groupItems } from './treeViewUtils';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
$: groupedItems = grpItems(items);
|
|
10
|
-
function grpItems(items) {
|
|
11
|
-
treeLoading = true;
|
|
12
|
-
let r;
|
|
13
|
-
try {
|
|
14
|
-
r = groupItems(items);
|
|
15
|
-
}
|
|
16
|
-
finally {
|
|
17
|
-
treeLoading = false;
|
|
18
|
-
}
|
|
19
|
-
return r;
|
|
20
|
-
}
|
|
4
|
+
let { collapseAll, showCode, nbDisplayed = $bindable(), items, isSearching = false } = $props();
|
|
5
|
+
let groupedItems = $state('loading');
|
|
6
|
+
$effect(() => {
|
|
7
|
+
items;
|
|
8
|
+
untrack(() => (groupedItems = groupItems(items)));
|
|
9
|
+
});
|
|
21
10
|
</script>
|
|
22
11
|
|
|
23
|
-
{#if
|
|
12
|
+
{#if groupedItems === 'loading'}
|
|
24
13
|
<div class="flex flex-row items-center justify-center">
|
|
25
|
-
<div
|
|
26
|
-
class="animate-spin rounded-full h-8 w-8 border-b-2 border-gray-900 dark:border-gray-100"
|
|
14
|
+
<div class="animate-spin rounded-full h-8 w-8 border-b-2 border-gray-900 dark:border-gray-100"
|
|
27
15
|
></div>
|
|
28
16
|
</div>
|
|
29
17
|
{:else if groupedItems.length === 0}
|
|
@@ -51,7 +39,7 @@ function grpItems(items) {
|
|
|
51
39
|
{#if groupedItems.length > 15 && nbDisplayed < groupedItems.length}
|
|
52
40
|
<span class="text-xs"
|
|
53
41
|
>{nbDisplayed} root nodes out of {groupedItems.length}
|
|
54
|
-
<button class="ml-4"
|
|
42
|
+
<button class="ml-4" onclick={() => (nbDisplayed += 30)}>load 30 more</button></span
|
|
55
43
|
>
|
|
56
44
|
{/if}
|
|
57
45
|
{/if}
|