windmill-components 1.448.50 → 1.472.2
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/AddUser.svelte +52 -54
- package/package/components/ApiConnectForm.svelte +57 -45
- package/package/components/AppConnectInner.svelte +18 -8
- package/package/components/ArgInput.svelte +132 -83
- package/package/components/ArgInput.svelte.d.ts +12 -1
- package/package/components/ArrayTypeNarrowing.svelte +35 -30
- package/package/components/ArrayTypeNarrowing.svelte.d.ts +1 -0
- package/package/components/AssignableTags.svelte +10 -6
- package/package/components/AssignableTagsInner.svelte +1 -1
- package/package/components/Auth0Setting.svelte +103 -0
- package/package/components/Auth0Setting.svelte.d.ts +16 -0
- package/package/components/AuthSettings.svelte +7 -2
- package/package/components/AutoscalingConfigEditor.svelte +12 -17
- package/package/components/ChangeInstanceUsername.svelte +15 -13
- package/package/components/ChangeInstanceUsernameInner.svelte +4 -5
- package/package/components/ChangeInstanceUsernameInner.svelte.d.ts +1 -0
- package/package/components/ConnectionSection.svelte +176 -0
- package/package/components/ConnectionSection.svelte.d.ts +28 -0
- package/package/components/ContentSearchInner.svelte +13 -3
- package/package/components/CronBuilder.svelte +12 -13
- package/package/components/CronBuilder.svelte.d.ts +1 -1
- package/package/components/CronInput.svelte +1 -1
- package/package/components/DBSchemaExplorer.svelte +18 -5
- package/package/components/DateTimeInput.svelte +3 -3
- package/package/components/DefaultTags.svelte +8 -8
- package/package/components/Dev.svelte +30 -8
- package/package/components/DisplayResult.svelte +132 -80
- package/package/components/DisplayResult.svelte.d.ts +2 -0
- package/package/components/DropdownV2.svelte +89 -16
- package/package/components/DropdownV2.svelte.d.ts +10 -27
- package/package/components/DropdownV2Inner.svelte +7 -4
- package/package/components/DropdownV2Inner.svelte.d.ts +4 -25
- package/package/components/DynSelect.svelte +6 -2
- package/package/components/EditableSchemaForm.svelte +48 -45
- package/package/components/EditableSchemaForm.svelte.d.ts +4 -1
- package/package/components/Editor.svelte +1 -1
- package/package/components/EditorBar.svelte +15 -13
- package/package/components/EditorBar.svelte.d.ts +1 -1
- package/package/components/EditorSettings.svelte +9 -7
- package/package/components/ErrorOrRecoveryHandler.svelte +195 -18
- package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +2 -2
- package/package/components/FlowBuilder.svelte +10 -31
- package/package/components/FlowBuilder.svelte.d.ts +3 -0
- package/package/components/FlowBuilderTutorials.svelte +34 -64
- package/package/components/FlowBuilderTutorials.svelte.d.ts +0 -1
- package/package/components/FlowHistoryJobPicker.svelte +48 -0
- package/package/components/FlowHistoryJobPicker.svelte.d.ts +21 -0
- package/package/components/FlowJobResult.svelte +6 -3
- package/package/components/FlowPreviewContent.svelte +264 -182
- package/package/components/FlowPreviewContent.svelte.d.ts +3 -0
- package/package/components/FlowStatusViewerInner.svelte +28 -7
- package/package/components/FlowStatusWaitingForEvents.svelte +2 -2
- package/package/components/FolderEditor.svelte +14 -7
- package/package/components/GroupEditor.svelte +4 -0
- package/package/components/HistoricInputs.svelte +51 -110
- package/package/components/HistoricInputs.svelte.d.ts +9 -3
- package/package/components/HistoricList.svelte +95 -0
- package/package/components/HistoricList.svelte.d.ts +24 -0
- package/package/components/IconedResourceType.svelte +4 -1
- package/package/components/InfiniteList.svelte +12 -6
- package/package/components/InputTransformForm.svelte +25 -5
- package/package/components/InstanceNameEditor.svelte +100 -103
- package/package/components/InstanceSetting.svelte +777 -607
- package/package/components/InstanceSettings.svelte +33 -36
- package/package/components/InviteUser.svelte +43 -43
- package/package/components/{apps/editor/settingsPanel/inputEditor/JsonEditor.svelte → JsonEditor.svelte} +1 -1
- package/package/components/{apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts → JsonEditor.svelte.d.ts} +1 -1
- package/package/components/JsonInputs.svelte +63 -0
- package/package/components/JsonInputs.svelte.d.ts +23 -0
- package/package/components/Label.svelte +6 -4
- package/package/components/Login.svelte +8 -2
- package/package/components/OAuthSetting.svelte +42 -15
- package/package/components/OAuthSetting.svelte.d.ts +1 -0
- package/package/components/ObjectResourceInput.svelte +6 -3
- package/package/components/ObjectResourceInput.svelte.d.ts +1 -1
- package/package/components/OktaSetting.svelte +9 -3
- package/package/components/PasswordArgInput.svelte +1 -1
- package/package/components/Path.svelte +16 -1
- package/package/components/Path.svelte.d.ts +1 -1
- package/package/components/ResourceEditor.svelte +6 -2
- package/package/components/ResourcePicker.svelte +3 -3
- package/package/components/ResourceTypePicker.svelte +10 -11
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/RunForm.svelte +51 -47
- package/package/components/RunForm.svelte.d.ts +3 -0
- package/package/components/RunFormAdvancedPopup.svelte +2 -7
- package/package/components/RunFormAdvancedPopup.svelte.d.ts +0 -2
- package/package/components/RunPageSchedules.svelte +3 -2
- package/package/components/S3FilePicker.svelte +9 -1
- package/package/components/S3FilePicker.svelte.d.ts +1 -0
- package/package/components/S3ObjectPicker.svelte +13 -12
- package/package/components/S3ObjectPicker.svelte.d.ts +1 -1
- package/package/components/SavedInputsPicker.svelte +95 -56
- package/package/components/SavedInputsPicker.svelte.d.ts +10 -1
- package/package/components/SavedInputsV2.svelte +113 -0
- package/package/components/SavedInputsV2.svelte.d.ts +26 -0
- package/package/components/ScheduleEditorInner.svelte +40 -13
- package/package/components/SchemaForm.svelte +158 -191
- package/package/components/SchemaForm.svelte.d.ts +16 -3
- package/package/components/SchemaFormWithArgPicker.svelte +166 -0
- package/package/components/SchemaFormWithArgPicker.svelte.d.ts +29 -0
- package/package/components/ScriptBuilder.svelte +139 -71
- package/package/components/ScriptBuilder.svelte.d.ts +3 -0
- package/package/components/ScriptEditor.svelte +28 -2
- package/package/components/ScriptEditor.svelte.d.ts +2 -2
- package/package/components/ScriptPicker.svelte +6 -3
- package/package/components/ScriptSchema.svelte +2 -1
- package/package/components/ScriptSchema.svelte.d.ts +2 -0
- package/package/components/ScriptVersionHistory.svelte +9 -3
- package/package/components/Section.svelte +21 -9
- package/package/components/Section.svelte.d.ts +4 -0
- package/package/components/ShareModal.svelte +10 -5
- package/package/components/ShareModal.svelte.d.ts +2 -2
- package/package/components/SharedBadge.svelte +3 -3
- package/package/components/StringTypeNarrowing.svelte +10 -1
- package/package/components/SuperadminSettings.svelte +9 -2
- package/package/components/TestJobLoader.svelte +1 -1
- package/package/components/TestJobLoader.svelte.d.ts +1 -1
- package/package/components/TimelineBar.svelte.d.ts +1 -1
- package/package/components/ToggleHubWorkspace.svelte +3 -3
- package/package/components/ToggleHubWorkspaceQuick.svelte +4 -4
- package/package/components/Tooltip.svelte +36 -30
- package/package/components/VariableEditor.svelte +27 -20
- package/package/components/WorkerGroup.svelte +12 -3
- package/package/components/apps/components/buttons/AppButton.svelte +22 -2
- package/package/components/apps/components/buttons/AppFormButton.svelte +74 -70
- package/package/components/apps/components/buttons/AppSchemaForm.svelte +4 -2
- package/package/components/apps/components/display/AppAccordionList.svelte +149 -0
- package/package/components/apps/components/display/AppAccordionList.svelte.d.ts +25 -0
- package/package/components/apps/components/display/AppCarouselList.svelte +114 -106
- package/package/components/apps/components/display/AppCustomComponent.svelte +13 -13
- package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -1
- package/package/components/apps/components/display/AppDisplayComponentByJobId.svelte +3 -1
- package/package/components/apps/components/display/AppHtml.svelte +28 -22
- package/package/components/apps/components/display/AppMarkdown.svelte +98 -31
- package/package/components/apps/components/display/AppMenu.svelte +77 -66
- package/package/components/apps/components/display/AppMenu.svelte.d.ts +0 -3
- package/package/components/apps/components/display/AppRecomputeAll.svelte +12 -1
- package/package/components/apps/components/display/AppText.svelte +8 -3
- package/package/components/apps/components/display/PlotlyHtml.svelte +16 -12
- package/package/components/apps/components/display/PlotlyHtmlV2.svelte +16 -12
- package/package/components/apps/components/display/VegaLiteHtml.svelte +9 -5
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +1 -1
- package/package/components/apps/components/display/dbtable/InsertRow.svelte +4 -4
- package/package/components/apps/components/display/dbtable/utils.js +19 -1
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +6 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +4 -0
- package/package/components/apps/components/display/table/AppAggridTable.svelte +1 -1
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte +27 -19
- package/package/components/apps/components/display/table/AppTable.svelte +19 -15
- package/package/components/apps/components/helpers/InitializeComponent.svelte +1 -0
- package/package/components/apps/components/helpers/InputValue.svelte +4 -3
- package/package/components/apps/components/helpers/NonRunnableComponent.svelte +0 -2
- package/package/components/apps/components/helpers/RunnableComponent.svelte +16 -4
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -0
- package/package/components/apps/components/helpers/RunnableWrapper.svelte +32 -3
- package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
- package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -0
- package/package/components/apps/components/layout/AppConditionalWrapper.svelte +29 -21
- package/package/components/apps/components/layout/AppContainer.svelte +28 -20
- package/package/components/apps/components/layout/AppDecisionTree.svelte +59 -49
- package/package/components/apps/components/layout/AppDrawer.svelte +94 -87
- package/package/components/apps/components/layout/AppList.svelte +70 -62
- package/package/components/apps/components/layout/AppModal.svelte +83 -79
- package/package/components/apps/components/layout/AppSplitpanes.svelte +51 -43
- package/package/components/apps/components/layout/AppStepper.svelte +97 -83
- package/package/components/apps/components/layout/AppTabs.svelte +128 -74
- package/package/components/apps/editor/AppEditor.svelte +21 -3
- package/package/components/apps/editor/AppEditor.svelte.d.ts +24 -1
- package/package/components/apps/editor/AppEditorHeader.svelte +73 -61
- package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +24 -1
- package/package/components/apps/editor/AppEditorTutorial.svelte +53 -60
- package/package/components/apps/editor/AppJsonEditor.svelte +1 -1
- package/package/components/apps/editor/AppPreview.svelte +5 -5
- package/package/components/apps/editor/AppReportsDrawerInner.svelte +1 -0
- package/package/components/apps/editor/ComponentHeader.svelte +44 -20
- package/package/components/apps/editor/ComponentHeader.svelte.d.ts +1 -0
- package/package/components/apps/editor/DecisionTreeDebug.svelte +56 -73
- package/package/components/apps/editor/GridEditor.svelte +7 -4
- package/package/components/apps/editor/GridViewer.svelte +19 -7
- package/package/components/apps/editor/GridViewer.svelte.d.ts +1 -3
- package/package/components/apps/editor/PreviewToggle.svelte +3 -0
- package/package/components/apps/editor/RecomputeAllButton.svelte +7 -40
- package/package/components/apps/editor/RecomputeAllComponents.svelte +52 -19
- package/package/components/apps/editor/RecomputeAllWrapper.svelte +1 -10
- package/package/components/apps/editor/SubGridEditor.svelte +147 -145
- package/package/components/apps/editor/TabsDebug.svelte +43 -56
- package/package/components/apps/editor/component/Component.svelte +26 -926
- package/package/components/apps/editor/component/Component.svelte.d.ts +2 -3
- package/package/components/apps/editor/component/ComponentInner.svelte +775 -0
- package/package/components/apps/editor/component/ComponentInner.svelte.d.ts +22 -0
- package/package/components/apps/editor/component/ComponentRendered.svelte +195 -0
- package/package/components/apps/editor/component/ComponentRendered.svelte.d.ts +28 -0
- package/package/components/apps/editor/component/components.d.ts +154 -83
- package/package/components/apps/editor/component/components.js +59 -5
- package/package/components/apps/editor/component/sets.js +2 -1
- package/package/components/apps/editor/componentsPanel/CssProperty.svelte +8 -4
- package/package/components/apps/editor/componentsPanel/CustomComponentRow.svelte +12 -22
- package/package/components/apps/editor/componentsPanel/CustomComponentRow.svelte.d.ts +0 -1
- package/package/components/apps/editor/componentsPanel/CustomComponentsList.svelte +0 -2
- package/package/components/apps/editor/componentsPanel/GroupRow.svelte +12 -22
- package/package/components/apps/editor/componentsPanel/GroupRow.svelte.d.ts +0 -1
- package/package/components/apps/editor/componentsPanel/NameEditor.svelte +21 -20
- package/package/components/apps/editor/componentsPanel/ThemeNameEditor.svelte +9 -9
- package/package/components/apps/editor/componentsPanel/ThemeRow.svelte +32 -52
- package/package/components/apps/editor/componentsPanel/ThemeRow.svelte.d.ts +0 -1
- package/package/components/apps/editor/componentsPanel/cssUtils.js +7 -0
- package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +3 -0
- package/package/components/apps/editor/contextPanel/LazyModePanel.svelte +46 -0
- package/package/components/apps/editor/contextPanel/LazyModePanel.svelte.d.ts +14 -0
- package/package/components/apps/editor/contextPanel/components/IdEditor.svelte +19 -13
- package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +10 -7
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +11 -7
- package/package/components/apps/editor/inlineScriptsPanel/RunButton.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +8 -6
- package/package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +7 -0
- package/package/components/apps/editor/settingsPanel/ComponentPanelDataSource.svelte +5 -2
- package/package/components/apps/editor/settingsPanel/HideButton.svelte.d.ts +1 -1
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +17 -7
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +3 -0
- package/package/components/apps/editor/settingsPanel/TableActions.svelte +10 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +53 -51
- package/package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +1 -1
- package/package/components/apps/rx.d.ts +3 -3
- package/package/components/apps/rx.js +5 -5
- package/package/components/apps/svelte-grid/Grid.svelte +121 -99
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +0 -1
- package/package/components/apps/svelte-grid/MoveResize.svelte +2 -1
- package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +1 -0
- package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +8 -8
- package/package/components/apps/types.d.ts +2 -0
- package/package/components/apps/utils.js +1 -1
- package/package/components/auditLogs/AuditLogMobileFilters.svelte +7 -6
- package/package/components/auditLogs/AuditLogsFilters.svelte +75 -37
- package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +2 -0
- package/package/components/auditLogs/AuditLogsTable.svelte +2 -1
- package/package/components/auditLogs/AuditLogsTable.svelte.d.ts +1 -0
- package/package/components/common/alert/Alert.svelte +2 -27
- package/package/components/common/alert/Alert.svelte.d.ts +1 -1
- package/package/components/common/alert/model.d.ts +1 -0
- package/package/components/common/alert/model.js +26 -1
- package/package/components/common/button/Button.svelte +25 -39
- package/package/components/common/button/Button.svelte.d.ts +0 -1
- package/package/components/common/calendarPicker/CalendarPicker.svelte +30 -25
- package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +12 -10
- package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +2 -3
- package/package/components/common/confirmationModal/unsavedTypes.d.ts +6 -0
- package/package/components/common/confirmationModal/unsavedTypes.js +1 -0
- package/package/components/common/drawer/Disposable.svelte +3 -1
- package/package/components/common/drawer/Disposable.svelte.d.ts +1 -0
- package/package/components/common/drawer/Drawer.svelte +2 -0
- package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
- package/package/components/common/fileInput/FileInput.svelte +63 -20
- package/package/components/common/fileInput/FileInput.svelte.d.ts +4 -1
- package/package/components/common/fileUpload/FileUpload.svelte +102 -20
- package/package/components/common/fileUpload/FileUpload.svelte.d.ts +7 -0
- package/package/components/common/index.d.ts +0 -1
- package/package/components/common/index.js +0 -1
- package/package/components/common/layout/List.svelte.d.ts +1 -1
- package/package/components/common/toggleButton-v2/ToggleButton.svelte +42 -39
- package/package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts +3 -1
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +28 -29
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +23 -7
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +17 -18
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +2 -1
- package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte.d.ts +1 -1
- package/package/components/copilot/CodeCompletionStatus.svelte +1 -1
- package/package/components/copilot/CronGen.svelte +50 -50
- package/package/components/copilot/FlowCopilotDrawer.svelte +3 -2
- package/package/components/copilot/FlowCopilotStatus.svelte +16 -19
- package/package/components/copilot/PredicateGen.svelte +9 -10
- package/package/components/copilot/RegexGen.svelte +67 -66
- package/package/components/copilot/ScriptFix.svelte +122 -105
- package/package/components/copilot/ScriptGen.svelte +177 -135
- package/package/components/copilot/StepInputsGen.svelte +31 -28
- package/package/components/copilot/{TestAiKey.svelte → TestAIKey.svelte} +13 -2
- package/package/components/copilot/{TestAiKey.svelte.d.ts → TestAIKey.svelte.d.ts} +4 -2
- package/package/components/copilot/completion.d.ts +2 -2
- package/package/components/copilot/completion.js +1 -1
- package/package/components/copilot/flow.d.ts +3 -4
- package/package/components/copilot/flow.js +1 -1
- package/package/components/copilot/lib.d.ts +46 -54
- package/package/components/copilot/lib.js +278 -209
- package/package/components/copilot/prompts/edit.yaml +19 -0
- package/package/components/copilot/prompts/editPrompt.d.ts +3 -0
- package/package/components/copilot/prompts/editPrompt.js +3 -0
- package/package/components/copilot/prompts/fix.yaml +19 -0
- package/package/components/copilot/prompts/fixPrompt.d.ts +3 -0
- package/package/components/copilot/prompts/fixPrompt.js +3 -0
- package/package/components/copilot/prompts/gen.yaml +12 -0
- package/package/components/copilot/prompts/genPrompt.d.ts +3 -0
- package/package/components/copilot/prompts/genPrompt.js +3 -0
- package/package/components/custom_ui.d.ts +37 -0
- package/package/components/details/DetailPageDetailPanel.svelte +3 -1
- package/package/components/details/DetailPageDetailPanel.svelte.d.ts +7 -1
- package/package/components/details/DetailPageHeader.svelte +12 -27
- package/package/components/details/DetailPageLayout.svelte +4 -0
- package/package/components/details/DetailPageLayout.svelte.d.ts +6 -0
- package/package/components/details/DetailPageTriggerPanel.svelte +20 -8
- package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +4 -2
- package/package/components/details/EmailTriggerConfigSection.svelte +3 -3
- package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +3 -1
- package/package/components/details/EmailTriggerPanel.svelte +1 -0
- package/package/components/flows/content/FlowInput.svelte +35 -44
- package/package/components/flows/content/FlowInputs.svelte +4 -1
- package/package/components/flows/content/FlowModuleComponent.svelte +10 -5
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -1
- package/package/components/flows/content/FlowModuleMock.svelte +1 -1
- package/package/components/flows/content/FlowModuleSuspend.svelte +15 -2
- package/package/components/flows/content/FlowRetries.svelte +4 -3
- package/package/components/flows/content/ScriptEditorDrawer.svelte +0 -1
- package/package/components/flows/flowStateUtils.js +1 -1
- package/package/components/flows/flowStore.d.ts +1 -1
- package/package/components/flows/header/FlowPreviewButtons.svelte +25 -16
- package/package/components/flows/header/FlowPreviewButtons.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowJobsMenu.svelte +60 -47
- package/package/components/flows/previousResults.js +1 -1
- package/package/components/flows/propPicker/FlowPropPicker.svelte +28 -25
- package/package/components/flows/propPicker/PropPickerWrapper.svelte +1 -0
- package/package/components/flows/scheduleUtils.d.ts +2 -2
- package/package/components/flows/scheduleUtils.js +17 -13
- package/package/components/graph/FlowGraphV2.svelte +3 -2
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte +9 -4
- package/package/components/graph/renderers/triggers/TriggersBadge.svelte.d.ts +1 -1
- package/package/components/home/FlowIcon.svelte +4 -1
- package/package/components/home/FlowIcon.svelte.d.ts +1 -0
- package/package/components/home/ItemsList.svelte +32 -24
- package/package/components/icons/Auth0Icon.svelte +17 -0
- package/package/components/icons/Auth0Icon.svelte.d.ts +23 -0
- package/package/components/icons/AwsIcon.svelte +25 -6
- package/package/components/icons/AwsIcon.svelte.d.ts +3 -2
- package/package/components/icons/brands/Auth0.svelte +24 -0
- package/package/components/icons/brands/Auth0.svelte.d.ts +18 -0
- package/package/components/icons/index.d.ts +3 -1
- package/package/components/icons/index.js +3 -1
- package/package/components/instanceSettings.d.ts +5 -0
- package/package/components/instanceSettings.js +34 -3
- package/package/components/meltComponents/MeltButton.svelte +10 -0
- package/package/components/meltComponents/MeltButton.svelte.d.ts +23 -0
- package/package/components/meltComponents/Menu.svelte +70 -0
- package/package/components/meltComponents/Menu.svelte.d.ts +51 -0
- package/package/components/meltComponents/MenuItem.svelte +42 -0
- package/package/components/meltComponents/MenuItem.svelte.d.ts +27 -0
- package/package/components/meltComponents/MenuSingleItem.svelte +12 -0
- package/package/components/meltComponents/MenuSingleItem.svelte.d.ts +36 -0
- package/package/components/meltComponents/Menubar.svelte +7 -0
- package/package/components/meltComponents/Menubar.svelte.d.ts +255 -0
- package/package/components/meltComponents/Popover.svelte +78 -24
- package/package/components/meltComponents/Popover.svelte.d.ts +23 -4
- package/package/components/meltComponents/SideBarTab.svelte +18 -6
- package/package/components/meltComponents/SideBarTab.svelte.d.ts +2 -0
- package/package/components/meltComponents/Tooltip.svelte +66 -0
- package/package/components/meltComponents/Tooltip.svelte.d.ts +29 -0
- package/package/components/meltComponents/index.d.ts +5 -0
- package/package/components/meltComponents/index.js +5 -0
- package/package/components/preview/FlowPreviewStatus.svelte +2 -1
- package/package/components/propertyPicker/ObjectViewer.svelte +15 -3
- package/package/components/propertyPicker/PropPicker.svelte +0 -1
- package/package/components/runs/JobLoader.svelte +18 -18
- package/package/components/runs/JobLoader.svelte.d.ts +1 -1
- package/package/components/runs/MobileFilters.svelte +12 -11
- package/package/components/runs/PreprocessedArgsDisplay.svelte +2 -3
- package/package/components/runs/PreprocessedArgsDisplay.svelte.d.ts +1 -1
- package/package/components/runs/RunsFilter.svelte +350 -320
- package/package/components/schema/AddPropertyFormV2.svelte +7 -7
- package/package/components/schema/AddPropertyFormV2.svelte.d.ts +3 -1
- package/package/components/schema/EditableSchemaDrawer.svelte +0 -1
- package/package/components/schema/EditableSchemaWrapper.svelte +1 -2
- package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +0 -1
- package/package/components/schema/FlowPropertyEditor.svelte +51 -67
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +0 -1
- package/package/components/schema/InputSelectedBadge.svelte +28 -0
- package/package/components/schema/InputSelectedBadge.svelte.d.ts +18 -0
- package/package/components/schema/PropertyEditor.svelte +7 -3
- package/package/components/schema/SchemaFormDND.svelte +4 -2
- package/package/components/schema/SchemaFormDND.svelte.d.ts +2 -1
- package/package/components/schema/SchemaPickerRow.svelte +11 -3
- package/package/components/schema/SchemaPickerRow.svelte.d.ts +1 -1
- package/package/components/scriptEditor/LogPanel.svelte +8 -2
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
- package/package/components/settings/ChangeWorkspaceId.svelte +24 -12
- package/package/components/settings/PremiumInfo.svelte +4 -4
- package/package/components/settings/WorkspaceOperatorSettings.svelte +159 -0
- package/package/components/settings/WorkspaceOperatorSettings.svelte.d.ts +14 -0
- package/package/components/settings/WorkspaceUserSettings.svelte +108 -96
- package/package/components/sidebar/CriticalAlertModal.svelte +66 -60
- package/package/components/sidebar/FavoriteMenu.svelte +30 -21
- package/package/components/sidebar/FavoriteMenu.svelte.d.ts +2 -0
- package/package/components/sidebar/MenuButton.svelte +20 -5
- package/package/components/sidebar/MenuButton.svelte.d.ts +3 -0
- package/package/components/sidebar/MenuLink.svelte +8 -5
- package/package/components/sidebar/MenuLink.svelte.d.ts +2 -0
- package/package/components/sidebar/OperatorMenu.svelte +219 -126
- package/package/components/sidebar/SidebarContent.svelte +107 -127
- package/package/components/sidebar/SidebarContent.svelte.d.ts +0 -1
- package/package/components/sidebar/UserMenu.svelte +91 -111
- package/package/components/sidebar/UserMenu.svelte.d.ts +2 -0
- package/package/components/sidebar/WorkspaceMenu.svelte +59 -54
- package/package/components/sidebar/WorkspaceMenu.svelte.d.ts +2 -0
- package/package/components/sidebar/changelogs.js +55 -0
- package/package/components/table/DataTable.svelte +6 -14
- package/package/components/table/DataTable.svelte.d.ts +1 -0
- package/package/components/triggers/CaptureButton.svelte +51 -68
- package/package/components/triggers/CaptureSection.svelte +5 -2
- package/package/components/triggers/CaptureSection.svelte.d.ts +3 -1
- package/package/components/triggers/CaptureTable.svelte +61 -23
- package/package/components/triggers/CaptureWrapper.svelte +87 -46
- package/package/components/triggers/CaptureWrapper.svelte.d.ts +8 -4
- package/package/components/triggers/TestTriggerConnection.svelte +82 -0
- package/package/components/triggers/TestTriggerConnection.svelte.d.ts +21 -0
- package/package/components/triggers/TriggersEditor.svelte +46 -14
- package/package/components/triggers/TriggersEditorSection.svelte +53 -46
- package/package/components/triggers/TriggersEditorSection.svelte.d.ts +3 -0
- package/package/components/triggers/TriggersWrapper.svelte +26 -8
- package/package/components/triggers/{RouteEditorConfigSection.svelte → http/RouteEditorConfigSection.svelte} +57 -57
- package/package/components/triggers/{RouteEditorConfigSection.svelte.d.ts → http/RouteEditorConfigSection.svelte.d.ts} +8 -9
- package/package/components/triggers/{RouteEditorInner.svelte → http/RouteEditorInner.svelte} +190 -147
- package/package/components/triggers/{RoutesPanel.svelte → http/RoutesPanel.svelte} +44 -47
- package/package/components/triggers/{KafkaTriggerEditorInner.svelte → kafka/KafkaTriggerEditorInner.svelte} +23 -23
- package/package/components/triggers/{KafkaTriggersConfigSection.svelte → kafka/KafkaTriggersConfigSection.svelte} +29 -17
- package/package/components/triggers/{KafkaTriggersConfigSection.svelte.d.ts → kafka/KafkaTriggersConfigSection.svelte.d.ts} +5 -3
- package/package/components/triggers/{KafkaTriggersPanel.svelte → kafka/KafkaTriggersPanel.svelte} +40 -45
- package/package/components/triggers/{NatsTriggerEditorInner.svelte → nats/NatsTriggerEditorInner.svelte} +19 -20
- package/package/components/triggers/{NatsTriggersConfigSection.svelte → nats/NatsTriggersConfigSection.svelte} +25 -18
- package/package/components/triggers/{NatsTriggersConfigSection.svelte.d.ts → nats/NatsTriggersConfigSection.svelte.d.ts} +5 -3
- package/package/components/triggers/{NatsTriggersPanel.svelte → nats/NatsTriggersPanel.svelte} +41 -44
- package/package/components/triggers/postgres/CheckPostgresRequirement.svelte +71 -0
- package/package/components/triggers/postgres/CheckPostgresRequirement.svelte.d.ts +18 -0
- package/package/components/triggers/postgres/PostgresEditorConfigSection.svelte +152 -0
- package/package/components/triggers/postgres/PostgresEditorConfigSection.svelte.d.ts +40 -0
- package/package/components/triggers/postgres/PostgresTriggerEditor.svelte +19 -0
- package/package/components/triggers/postgres/PostgresTriggerEditor.svelte.d.ts +21 -0
- package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +578 -0
- package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte.d.ts +21 -0
- package/package/components/triggers/postgres/PostgresTriggersPanel.svelte +112 -0
- package/package/components/triggers/postgres/PostgresTriggersPanel.svelte.d.ts +28 -0
- package/package/components/triggers/postgres/PublicationPicker.svelte +129 -0
- package/package/components/triggers/postgres/PublicationPicker.svelte.d.ts +23 -0
- package/package/components/triggers/postgres/RelationPicker.svelte +266 -0
- package/package/components/triggers/postgres/RelationPicker.svelte.d.ts +19 -0
- package/package/components/triggers/postgres/SlotPicker.svelte +92 -0
- package/package/components/triggers/postgres/SlotPicker.svelte.d.ts +18 -0
- package/package/components/triggers/postgres/utils.d.ts +5 -0
- package/package/components/triggers/postgres/utils.js +80 -0
- package/package/components/triggers/{ScheduledPollPanel.svelte → scheduled/ScheduledPollPanel.svelte} +3 -3
- package/package/components/triggers/sqs/SqsTriggerEditor.svelte +19 -0
- package/package/components/triggers/sqs/SqsTriggerEditor.svelte.d.ts +21 -0
- package/package/components/triggers/sqs/SqsTriggerEditorConfigSection.svelte +152 -0
- package/package/components/triggers/sqs/SqsTriggerEditorConfigSection.svelte.d.ts +40 -0
- package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +234 -0
- package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte.d.ts +21 -0
- package/package/components/triggers/sqs/SqsTriggerPanel.svelte +123 -0
- package/package/components/triggers/sqs/SqsTriggerPanel.svelte.d.ts +28 -0
- package/package/components/triggers/{WebhooksConfigSection.svelte → webhook/WebhooksConfigSection.svelte} +26 -21
- package/package/components/triggers/{WebhooksConfigSection.svelte.d.ts → webhook/WebhooksConfigSection.svelte.d.ts} +6 -4
- package/package/components/triggers/{WebhooksPanel.svelte → webhook/WebhooksPanel.svelte} +5 -4
- package/package/components/triggers/{WebsocketEditorConfigSection.svelte → websocket/WebsocketEditorConfigSection.svelte} +42 -34
- package/package/components/triggers/{WebsocketEditorConfigSection.svelte.d.ts → websocket/WebsocketEditorConfigSection.svelte.d.ts} +5 -3
- package/package/components/triggers/{WebsocketTriggerEditorInner.svelte → websocket/WebsocketTriggerEditorInner.svelte} +62 -43
- package/package/components/triggers/{WebsocketTriggersPanel.svelte → websocket/WebsocketTriggersPanel.svelte} +45 -49
- package/package/components/triggers.d.ts +1 -1
- package/package/components/triggers.js +4 -0
- package/package/components/tutorials/FlowBuilderTutorialErrorHandler.svelte +1 -1
- package/package/components/wizards/AgChartWizard.svelte +26 -24
- package/package/components/wizards/AgGridWizard.svelte +166 -161
- package/package/components/wizards/ChartJSWizard.svelte +32 -30
- package/package/components/wizards/DBExplorerWizard.svelte +21 -12
- package/package/components/wizards/NavbarWizard.svelte +108 -107
- package/package/components/wizards/PlotlyWizard.svelte +84 -75
- package/package/components/wizards/TableActionsWizard.svelte +69 -66
- package/package/components/wizards/TableColumnWizard.svelte +52 -47
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +456 -111
- package/package/gen/schemas.gen.js +470 -112
- package/package/gen/services.gen.d.ts +429 -2
- package/package/gen/services.gen.js +890 -17
- package/package/gen/types.gen.d.ts +1491 -158
- package/package/hub.d.ts +3 -0
- package/package/hubPaths.json +5 -1
- package/package/inferArgSig.js +11 -4
- package/package/script_helpers.d.ts +5 -3
- package/package/script_helpers.js +138 -98
- package/package/scripts.d.ts +1 -1
- package/package/stores.d.ts +6 -3
- package/package/stores.js +5 -3
- package/package/utils.d.ts +15 -0
- package/package/utils.js +17 -3
- package/package/zIndexes.d.ts +2 -0
- package/package/zIndexes.js +3 -1
- package/package.json +5 -5
- package/package/components/CapturesInputs.svelte +0 -16
- package/package/components/CapturesInputs.svelte.d.ts +0 -21
- package/package/components/LightweightArgInput.svelte +0 -622
- package/package/components/LightweightArgInput.svelte.d.ts +0 -70
- package/package/components/LightweightObjectResourceInput.svelte +0 -40
- package/package/components/LightweightObjectResourceInput.svelte.d.ts +0 -19
- package/package/components/LightweightSchemaForm.svelte +0 -100
- package/package/components/LightweightSchemaForm.svelte.d.ts +0 -43
- package/package/components/common/button/ButtonDropdown.svelte +0 -61
- package/package/components/common/button/ButtonDropdown.svelte.d.ts +0 -22
- package/package/components/common/menu/MenuV2.svelte +0 -51
- package/package/components/common/menu/MenuV2.svelte.d.ts +0 -26
- package/package/components/common/popup/Popup.svelte +0 -66
- package/package/components/common/popup/Popup.svelte.d.ts +0 -35
- package/package/components/common/toggleButton-v2/ToggleEnable.svelte +0 -34
- package/package/components/common/toggleButton-v2/ToggleEnable.svelte.d.ts +0 -23
- package/package/components/details/Menu.svelte +0 -58
- package/package/components/details/Menu.svelte.d.ts +0 -16
- package/package/components/flows/map/FlowCopilotButton.svelte +0 -54
- package/package/components/flows/map/FlowCopilotButton.svelte.d.ts +0 -16
- package/package/components/meltComponents/ButtonDropDown.svelte +0 -32
- package/package/components/meltComponents/ButtonDropDown.svelte.d.ts +0 -27
- package/package/components/tutorials/TutorialItem.svelte +0 -27
- package/package/components/tutorials/TutorialItem.svelte.d.ts +0 -22
- /package/package/components/triggers/{RouteEditor.svelte → http/RouteEditor.svelte} +0 -0
- /package/package/components/triggers/{RouteEditor.svelte.d.ts → http/RouteEditor.svelte.d.ts} +0 -0
- /package/package/components/triggers/{RouteEditorInner.svelte.d.ts → http/RouteEditorInner.svelte.d.ts} +0 -0
- /package/package/components/triggers/{RoutesPanel.svelte.d.ts → http/RoutesPanel.svelte.d.ts} +0 -0
- /package/package/components/triggers/{KafkaTriggerEditor.svelte → kafka/KafkaTriggerEditor.svelte} +0 -0
- /package/package/components/triggers/{KafkaTriggerEditor.svelte.d.ts → kafka/KafkaTriggerEditor.svelte.d.ts} +0 -0
- /package/package/components/triggers/{KafkaTriggerEditorInner.svelte.d.ts → kafka/KafkaTriggerEditorInner.svelte.d.ts} +0 -0
- /package/package/components/triggers/{KafkaTriggersPanel.svelte.d.ts → kafka/KafkaTriggersPanel.svelte.d.ts} +0 -0
- /package/package/components/triggers/{NatsTriggerEditor.svelte → nats/NatsTriggerEditor.svelte} +0 -0
- /package/package/components/triggers/{NatsTriggerEditor.svelte.d.ts → nats/NatsTriggerEditor.svelte.d.ts} +0 -0
- /package/package/components/triggers/{NatsTriggerEditorInner.svelte.d.ts → nats/NatsTriggerEditorInner.svelte.d.ts} +0 -0
- /package/package/components/triggers/{NatsTriggersPanel.svelte.d.ts → nats/NatsTriggersPanel.svelte.d.ts} +0 -0
- /package/package/components/triggers/{ScheduledPollPanel.svelte.d.ts → scheduled/ScheduledPollPanel.svelte.d.ts} +0 -0
- /package/package/components/triggers/{WebhooksPanel.svelte.d.ts → webhook/WebhooksPanel.svelte.d.ts} +0 -0
- /package/package/components/triggers/{WebsocketTriggerEditor.svelte → websocket/WebsocketTriggerEditor.svelte} +0 -0
- /package/package/components/triggers/{WebsocketTriggerEditor.svelte.d.ts → websocket/WebsocketTriggerEditor.svelte.d.ts} +0 -0
- /package/package/components/triggers/{WebsocketTriggerEditorInner.svelte.d.ts → websocket/WebsocketTriggerEditorInner.svelte.d.ts} +0 -0
- /package/package/components/triggers/{WebsocketTriggersPanel.svelte.d.ts → websocket/WebsocketTriggersPanel.svelte.d.ts} +0 -0
|
@@ -0,0 +1,578 @@
|
|
|
1
|
+
<script>import { Alert, Button, TabContent } from '../../common';
|
|
2
|
+
import Drawer from '../../common/drawer/Drawer.svelte';
|
|
3
|
+
import DrawerContent from '../../common/drawer/DrawerContent.svelte';
|
|
4
|
+
import Path from '../../Path.svelte';
|
|
5
|
+
import Required from '../../Required.svelte';
|
|
6
|
+
import ScriptPicker from '../../ScriptPicker.svelte';
|
|
7
|
+
import { PostgresTriggerService } from '../../../gen';
|
|
8
|
+
import { usedTriggerKinds, userStore, workspaceStore } from '../../../stores';
|
|
9
|
+
import { canWrite, emptyString, emptyStringTrimmed, sendUserToast } from '../../../utils';
|
|
10
|
+
import { createEventDispatcher } from 'svelte';
|
|
11
|
+
import Section from '../../Section.svelte';
|
|
12
|
+
import { Loader2, Save, X } from 'lucide-svelte';
|
|
13
|
+
import Label from '../../Label.svelte';
|
|
14
|
+
import Toggle from '../../Toggle.svelte';
|
|
15
|
+
import ResourcePicker from '../../ResourcePicker.svelte';
|
|
16
|
+
import { base } from '$app/paths';
|
|
17
|
+
import Tooltip from '../../Tooltip.svelte';
|
|
18
|
+
import ToggleButton from '../../common/toggleButton-v2/ToggleButton.svelte';
|
|
19
|
+
import ToggleButtonGroup from '../../common/toggleButton-v2/ToggleButtonGroup.svelte';
|
|
20
|
+
import MultiSelect from 'svelte-multiselect';
|
|
21
|
+
import PublicationPicker from './PublicationPicker.svelte';
|
|
22
|
+
import SlotPicker from './SlotPicker.svelte';
|
|
23
|
+
import { random_adj } from '../../random_positive_adjetive';
|
|
24
|
+
import Tabs from '../../common/tabs/Tabs.svelte';
|
|
25
|
+
import Tab from '../../common/tabs/Tab.svelte';
|
|
26
|
+
import RelationPicker from './RelationPicker.svelte';
|
|
27
|
+
import { invalidRelations } from './utils';
|
|
28
|
+
import CheckPostgresRequirement from './CheckPostgresRequirement.svelte';
|
|
29
|
+
let drawer;
|
|
30
|
+
let is_flow = false;
|
|
31
|
+
let initialPath = '';
|
|
32
|
+
let edit = true;
|
|
33
|
+
let itemKind = 'script';
|
|
34
|
+
let script_path = '';
|
|
35
|
+
let initialScriptPath = '';
|
|
36
|
+
let fixedScriptPath = '';
|
|
37
|
+
let path = '';
|
|
38
|
+
let pathError = '';
|
|
39
|
+
let enabled = false;
|
|
40
|
+
let dirtyPath = false;
|
|
41
|
+
let can_write = true;
|
|
42
|
+
let drawerLoading = true;
|
|
43
|
+
let postgres_resource_path = '';
|
|
44
|
+
let publication_name = '';
|
|
45
|
+
let replication_slot_name = '';
|
|
46
|
+
let relations = [];
|
|
47
|
+
let transaction_to_track = [];
|
|
48
|
+
let language = 'Typescript';
|
|
49
|
+
let loading = false;
|
|
50
|
+
let selectedPublicationAction;
|
|
51
|
+
let selectedSlotAction;
|
|
52
|
+
let publicationItems = [];
|
|
53
|
+
let transactionType = ['Insert', 'Update', 'Delete'];
|
|
54
|
+
let selectedTable = 'specific';
|
|
55
|
+
let tab = 'basic';
|
|
56
|
+
async function createPublication() {
|
|
57
|
+
try {
|
|
58
|
+
const message = await PostgresTriggerService.createPostgresPublication({
|
|
59
|
+
path: postgres_resource_path,
|
|
60
|
+
publication: publication_name,
|
|
61
|
+
workspace: $workspaceStore,
|
|
62
|
+
requestBody: {
|
|
63
|
+
transaction_to_track: transaction_to_track,
|
|
64
|
+
table_to_track: relations
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
sendUserToast(message);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
sendUserToast(error.body, true);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
async function createSlot() {
|
|
74
|
+
try {
|
|
75
|
+
const message = await PostgresTriggerService.createPostgresReplicationSlot({
|
|
76
|
+
path: postgres_resource_path,
|
|
77
|
+
workspace: $workspaceStore,
|
|
78
|
+
requestBody: {
|
|
79
|
+
name: replication_slot_name
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
sendUserToast(message);
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
sendUserToast(error.body, true);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
const dispatch = createEventDispatcher();
|
|
89
|
+
$: is_flow = itemKind === 'flow';
|
|
90
|
+
export async function openEdit(ePath, isFlow) {
|
|
91
|
+
drawerLoading = true;
|
|
92
|
+
try {
|
|
93
|
+
drawer?.openDrawer();
|
|
94
|
+
initialPath = ePath;
|
|
95
|
+
itemKind = isFlow ? 'flow' : 'script';
|
|
96
|
+
edit = true;
|
|
97
|
+
dirtyPath = false;
|
|
98
|
+
selectedPublicationAction = 'get';
|
|
99
|
+
selectedSlotAction = 'get';
|
|
100
|
+
selectedPublicationAction = selectedPublicationAction;
|
|
101
|
+
selectedSlotAction = selectedSlotAction;
|
|
102
|
+
relations = [];
|
|
103
|
+
transaction_to_track = [];
|
|
104
|
+
tab = 'basic';
|
|
105
|
+
await loadTrigger();
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
sendUserToast(`Could not load postgres trigger: ${err.body}`, true);
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
drawerLoading = false;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
export async function openNew(nis_flow, fixedScriptPath_, defaultValues) {
|
|
115
|
+
drawerLoading = true;
|
|
116
|
+
try {
|
|
117
|
+
selectedPublicationAction = 'create';
|
|
118
|
+
selectedSlotAction = 'create';
|
|
119
|
+
selectedTable = 'specific';
|
|
120
|
+
tab = 'basic';
|
|
121
|
+
drawer?.openDrawer();
|
|
122
|
+
is_flow = nis_flow;
|
|
123
|
+
itemKind = nis_flow ? 'flow' : 'script';
|
|
124
|
+
initialScriptPath = '';
|
|
125
|
+
fixedScriptPath = fixedScriptPath_ ?? '';
|
|
126
|
+
script_path = fixedScriptPath;
|
|
127
|
+
path = '';
|
|
128
|
+
initialPath = '';
|
|
129
|
+
postgres_resource_path = defaultValues?.postgres_resource_path ?? '';
|
|
130
|
+
edit = false;
|
|
131
|
+
dirtyPath = false;
|
|
132
|
+
publication_name = `windmill_publication_${random_adj()}`;
|
|
133
|
+
replication_slot_name = `windmill_replication_${random_adj()}`;
|
|
134
|
+
transaction_to_track = defaultValues?.publication.transaction_to_track || [
|
|
135
|
+
'Insert',
|
|
136
|
+
'Update',
|
|
137
|
+
'Delete'
|
|
138
|
+
];
|
|
139
|
+
relations = defaultValues?.publication.table_to_track || [
|
|
140
|
+
{
|
|
141
|
+
schema_name: 'public',
|
|
142
|
+
table_to_track: []
|
|
143
|
+
}
|
|
144
|
+
];
|
|
145
|
+
}
|
|
146
|
+
finally {
|
|
147
|
+
drawerLoading = false;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
async function loadTrigger() {
|
|
151
|
+
const s = await PostgresTriggerService.getPostgresTrigger({
|
|
152
|
+
workspace: $workspaceStore,
|
|
153
|
+
path: initialPath
|
|
154
|
+
});
|
|
155
|
+
script_path = s.script_path;
|
|
156
|
+
initialScriptPath = s.script_path;
|
|
157
|
+
is_flow = s.is_flow;
|
|
158
|
+
path = s.path;
|
|
159
|
+
enabled = s.enabled;
|
|
160
|
+
postgres_resource_path = s.postgres_resource_path;
|
|
161
|
+
publication_name = s.publication_name;
|
|
162
|
+
replication_slot_name = s.replication_slot_name;
|
|
163
|
+
const publication_data = await PostgresTriggerService.getPostgresPublication({
|
|
164
|
+
path: postgres_resource_path,
|
|
165
|
+
workspace: $workspaceStore,
|
|
166
|
+
publication: publication_name
|
|
167
|
+
});
|
|
168
|
+
transaction_to_track = [...publication_data.transaction_to_track];
|
|
169
|
+
relations = publication_data.table_to_track ?? [];
|
|
170
|
+
selectedTable = relations.length === 0 ? 'all' : 'specific';
|
|
171
|
+
can_write = canWrite(s.path, s.extra_perms, $userStore);
|
|
172
|
+
}
|
|
173
|
+
async function updateTrigger() {
|
|
174
|
+
if (selectedTable === 'specific' &&
|
|
175
|
+
invalidRelations(relations, {
|
|
176
|
+
showError: true,
|
|
177
|
+
trackSchemaTableError: true
|
|
178
|
+
}) === true) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
if (edit) {
|
|
182
|
+
await PostgresTriggerService.updatePostgresTrigger({
|
|
183
|
+
workspace: $workspaceStore,
|
|
184
|
+
path: initialPath,
|
|
185
|
+
requestBody: {
|
|
186
|
+
path,
|
|
187
|
+
script_path,
|
|
188
|
+
is_flow,
|
|
189
|
+
postgres_resource_path,
|
|
190
|
+
enabled,
|
|
191
|
+
replication_slot_name,
|
|
192
|
+
publication_name,
|
|
193
|
+
publication: tab === 'basic'
|
|
194
|
+
? {
|
|
195
|
+
transaction_to_track,
|
|
196
|
+
table_to_track: relations
|
|
197
|
+
}
|
|
198
|
+
: undefined
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
sendUserToast(`PostgresTrigger ${path} updated`);
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
await PostgresTriggerService.createPostgresTrigger({
|
|
205
|
+
workspace: $workspaceStore,
|
|
206
|
+
requestBody: {
|
|
207
|
+
path,
|
|
208
|
+
script_path,
|
|
209
|
+
is_flow,
|
|
210
|
+
enabled: true,
|
|
211
|
+
postgres_resource_path,
|
|
212
|
+
replication_slot_name: tab === 'basic' ? undefined : replication_slot_name,
|
|
213
|
+
publication_name: tab === 'basic' ? undefined : publication_name,
|
|
214
|
+
publication: {
|
|
215
|
+
transaction_to_track,
|
|
216
|
+
table_to_track: relations
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
sendUserToast(`PostgresTrigger ${path} created`);
|
|
221
|
+
}
|
|
222
|
+
if (!$usedTriggerKinds.includes('postgres')) {
|
|
223
|
+
$usedTriggerKinds = [...$usedTriggerKinds, 'postgres'];
|
|
224
|
+
}
|
|
225
|
+
dispatch('update');
|
|
226
|
+
drawer.closeDrawer();
|
|
227
|
+
}
|
|
228
|
+
const getTemplateScript = async () => {
|
|
229
|
+
if (relations.length === 0 || emptyString(postgres_resource_path)) {
|
|
230
|
+
sendUserToast('You must pick a database resource and choose at least one schema', true);
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
try {
|
|
234
|
+
loading = true;
|
|
235
|
+
let templateId = await PostgresTriggerService.createTemplateScript({
|
|
236
|
+
workspace: $workspaceStore,
|
|
237
|
+
requestBody: {
|
|
238
|
+
relations,
|
|
239
|
+
language,
|
|
240
|
+
postgres_resource_path
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
window.open(`${base}/scripts/add?id=${templateId}`);
|
|
244
|
+
loading = false;
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
loading = false;
|
|
248
|
+
sendUserToast(error.body, true);
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
</script>
|
|
252
|
+
|
|
253
|
+
<Drawer size="800px" bind:this={drawer}>
|
|
254
|
+
<DrawerContent
|
|
255
|
+
title={edit
|
|
256
|
+
? can_write
|
|
257
|
+
? `Edit Postgres trigger ${initialPath}`
|
|
258
|
+
: `Postgres trigger ${initialPath}`
|
|
259
|
+
: 'New Postgres trigger'}
|
|
260
|
+
on:close={drawer.closeDrawer}
|
|
261
|
+
>
|
|
262
|
+
<svelte:fragment slot="actions">
|
|
263
|
+
{#if !drawerLoading && can_write}
|
|
264
|
+
{#if edit}
|
|
265
|
+
<div class="mr-8 center-center -mt-1">
|
|
266
|
+
<Toggle
|
|
267
|
+
disabled={!can_write}
|
|
268
|
+
checked={enabled}
|
|
269
|
+
options={{ right: 'enable', left: 'disable' }}
|
|
270
|
+
on:change={async (e) => {
|
|
271
|
+
await PostgresTriggerService.setPostgresTriggerEnabled({
|
|
272
|
+
path: initialPath,
|
|
273
|
+
workspace: $workspaceStore ?? '',
|
|
274
|
+
requestBody: { enabled: e.detail }
|
|
275
|
+
})
|
|
276
|
+
sendUserToast(
|
|
277
|
+
`${e.detail ? 'enabled' : 'disabled'} postgres trigger ${initialPath}`
|
|
278
|
+
)
|
|
279
|
+
}}
|
|
280
|
+
/>
|
|
281
|
+
</div>
|
|
282
|
+
{/if}
|
|
283
|
+
<Button
|
|
284
|
+
startIcon={{ icon: Save }}
|
|
285
|
+
disabled={pathError != '' ||
|
|
286
|
+
emptyString(postgres_resource_path) ||
|
|
287
|
+
emptyString(script_path) ||
|
|
288
|
+
(tab === 'advanced' && emptyString(replication_slot_name)) ||
|
|
289
|
+
emptyString(publication_name) ||
|
|
290
|
+
(selectedTable !== 'all' && tab === 'basic' && relations.length === 0) ||
|
|
291
|
+
transaction_to_track.length === 0 ||
|
|
292
|
+
!can_write}
|
|
293
|
+
on:click={updateTrigger}
|
|
294
|
+
>
|
|
295
|
+
Save
|
|
296
|
+
</Button>
|
|
297
|
+
{/if}
|
|
298
|
+
</svelte:fragment>
|
|
299
|
+
{#if drawerLoading}
|
|
300
|
+
<div class="flex flex-col items-center justify-center h-full w-full">
|
|
301
|
+
<Loader2 size="50" class="animate-spin" />
|
|
302
|
+
<p>Loading...</p>
|
|
303
|
+
</div>
|
|
304
|
+
{:else}
|
|
305
|
+
<Alert title="Info" type="info">
|
|
306
|
+
{#if edit}
|
|
307
|
+
Changes can take up to 30 seconds to take effect.
|
|
308
|
+
{:else}
|
|
309
|
+
New postgres triggers can take up to 30 seconds to start listening.
|
|
310
|
+
{/if}
|
|
311
|
+
</Alert>
|
|
312
|
+
<div class="flex flex-col gap-12 mt-6">
|
|
313
|
+
<Label label="Path">
|
|
314
|
+
<Path
|
|
315
|
+
bind:dirty={dirtyPath}
|
|
316
|
+
bind:error={pathError}
|
|
317
|
+
bind:path
|
|
318
|
+
{initialPath}
|
|
319
|
+
checkInitialPathExistence={!edit}
|
|
320
|
+
namePlaceholder="postgres_trigger"
|
|
321
|
+
kind="postgres_trigger"
|
|
322
|
+
disabled={!can_write}
|
|
323
|
+
/>
|
|
324
|
+
</Label>
|
|
325
|
+
<Section label="Runnable">
|
|
326
|
+
<p class="text-xs text-tertiary">
|
|
327
|
+
Pick a script or flow to be triggered <Required required={true} />
|
|
328
|
+
</p>
|
|
329
|
+
<div class="flex flex-row mb-2">
|
|
330
|
+
<ScriptPicker
|
|
331
|
+
disabled={fixedScriptPath != '' || !can_write}
|
|
332
|
+
initialPath={fixedScriptPath || initialScriptPath}
|
|
333
|
+
kinds={['script']}
|
|
334
|
+
allowFlow={true}
|
|
335
|
+
bind:itemKind
|
|
336
|
+
bind:scriptPath={script_path}
|
|
337
|
+
allowRefresh
|
|
338
|
+
/>
|
|
339
|
+
|
|
340
|
+
{#if script_path === undefined && is_flow === false}
|
|
341
|
+
<div class="flex">
|
|
342
|
+
<Button
|
|
343
|
+
disabled={!can_write}
|
|
344
|
+
btnClasses="ml-4 mt-2"
|
|
345
|
+
color="dark"
|
|
346
|
+
size="xs"
|
|
347
|
+
on:click={getTemplateScript}
|
|
348
|
+
target="_blank"
|
|
349
|
+
{loading}
|
|
350
|
+
>Create from template
|
|
351
|
+
<Tooltip light>
|
|
352
|
+
The conversion requires a <strong>database resource</strong> and at least one
|
|
353
|
+
<strong>schema</strong>
|
|
354
|
+
to be set.<br />
|
|
355
|
+
Please ensure these conditions are met before proceeding.
|
|
356
|
+
</Tooltip>
|
|
357
|
+
</Button>
|
|
358
|
+
</div>
|
|
359
|
+
{/if}
|
|
360
|
+
</div>
|
|
361
|
+
</Section>
|
|
362
|
+
<Section label="Database">
|
|
363
|
+
<p class="text-xs text-tertiary mb-2">
|
|
364
|
+
Pick a database to connect to <Required required={true} />
|
|
365
|
+
</p>
|
|
366
|
+
<div class="flex flex-col gap-8">
|
|
367
|
+
<div class="flex flex-col gap-2">
|
|
368
|
+
<ResourcePicker
|
|
369
|
+
disabled={!can_write}
|
|
370
|
+
bind:value={postgres_resource_path}
|
|
371
|
+
resourceType={'postgresql'}
|
|
372
|
+
/>
|
|
373
|
+
<CheckPostgresRequirement bind:postgres_resource_path bind:can_write />
|
|
374
|
+
</div>
|
|
375
|
+
|
|
376
|
+
{#if postgres_resource_path}
|
|
377
|
+
<Label label="Transactions">
|
|
378
|
+
<svelte:fragment slot="header">
|
|
379
|
+
<Tooltip>
|
|
380
|
+
<p>
|
|
381
|
+
Choose the types of database transactions that should trigger a script or
|
|
382
|
+
flow. You can select from <strong>Insert</strong>, <strong>Update</strong>,
|
|
383
|
+
<strong>Delete</strong>, or any combination of these operations to define when
|
|
384
|
+
the trigger should activate.
|
|
385
|
+
</p>
|
|
386
|
+
</Tooltip>
|
|
387
|
+
</svelte:fragment>
|
|
388
|
+
<MultiSelect
|
|
389
|
+
noMatchingOptionsMsg=""
|
|
390
|
+
createOptionMsg={null}
|
|
391
|
+
duplicates={false}
|
|
392
|
+
options={transactionType}
|
|
393
|
+
allowUserOptions="append"
|
|
394
|
+
bind:selected={transaction_to_track}
|
|
395
|
+
ulOptionsClass={'!bg-surface !text-sm'}
|
|
396
|
+
ulSelectedClass="!text-sm"
|
|
397
|
+
outerDivClass="!bg-surface !min-h-[38px] !border-[#d1d5db]"
|
|
398
|
+
placeholder="Select transactions"
|
|
399
|
+
--sms-options-margin="4px"
|
|
400
|
+
--sms-open-z-index="100"
|
|
401
|
+
>
|
|
402
|
+
<svelte:fragment slot="remove-icon">
|
|
403
|
+
<div class="hover:text-primary p-0.5">
|
|
404
|
+
<X size={12} />
|
|
405
|
+
</div>
|
|
406
|
+
</svelte:fragment>
|
|
407
|
+
</MultiSelect>
|
|
408
|
+
</Label>
|
|
409
|
+
<Label label="Table Tracking">
|
|
410
|
+
<svelte:fragment slot="header">
|
|
411
|
+
<Tooltip
|
|
412
|
+
documentationLink="https://www.windmill.dev/docs/core_concepts/postgres_triggers#define-what-to-track"
|
|
413
|
+
>
|
|
414
|
+
<p>
|
|
415
|
+
Select the tables to track. You can choose to track
|
|
416
|
+
<strong>all tables in your database</strong>,
|
|
417
|
+
<strong>all tables within a specific schema</strong>,
|
|
418
|
+
<strong>specific tables in a schema</strong>, or even
|
|
419
|
+
<strong>specific columns of a table</strong>. Additionally, you can apply a
|
|
420
|
+
<strong>filter</strong> to retrieve only rows that do not match the specified criteria.
|
|
421
|
+
</p>
|
|
422
|
+
</Tooltip>
|
|
423
|
+
</svelte:fragment>
|
|
424
|
+
<Tabs bind:selected={tab}>
|
|
425
|
+
<Tab value="basic"
|
|
426
|
+
><div class="flex flex-row gap-1"
|
|
427
|
+
>Basic<Tooltip
|
|
428
|
+
documentationLink="https://www.windmill.dev/docs/core_concepts/postgres_triggers#define-what-to-track"
|
|
429
|
+
><p
|
|
430
|
+
>Choose the <strong>relations</strong> to track without worrying about the
|
|
431
|
+
underlying mechanics of creating a
|
|
432
|
+
<strong>publication</strong>
|
|
433
|
+
or <strong>slot</strong>. This simplified option lets you focus only on
|
|
434
|
+
the data you want to monitor.</p
|
|
435
|
+
></Tooltip
|
|
436
|
+
></div
|
|
437
|
+
></Tab
|
|
438
|
+
>
|
|
439
|
+
<Tab value="advanced"
|
|
440
|
+
><div class="flex flex-row gap-1"
|
|
441
|
+
>Advanced<Tooltip
|
|
442
|
+
documentationLink="https://www.windmill.dev/docs/core_concepts/postgres_triggers#advanced"
|
|
443
|
+
><p
|
|
444
|
+
>Select a specific <strong>publication</strong> from your database to
|
|
445
|
+
track, and manage it by <strong>creating</strong>,
|
|
446
|
+
<strong>updating</strong>, or <strong>deleting</strong>. For
|
|
447
|
+
<strong>slots</strong>, you can <strong>create</strong> or
|
|
448
|
+
<strong>delete</strong>
|
|
449
|
+
them. Both <strong>non-active slots</strong> and the
|
|
450
|
+
<strong>currently used slot</strong> by the trigger will be retrieved from
|
|
451
|
+
your database for management.</p
|
|
452
|
+
></Tooltip
|
|
453
|
+
></div
|
|
454
|
+
></Tab
|
|
455
|
+
>
|
|
456
|
+
<svelte:fragment slot="content">
|
|
457
|
+
<div class="mt-5 overflow-hidden bg-surface">
|
|
458
|
+
<TabContent value="basic">
|
|
459
|
+
<RelationPicker {can_write} bind:selectedTable bind:relations />
|
|
460
|
+
</TabContent>
|
|
461
|
+
<TabContent value="advanced">
|
|
462
|
+
<div class="flex flex-col gap-6"
|
|
463
|
+
><Section
|
|
464
|
+
small
|
|
465
|
+
label="Replication slot"
|
|
466
|
+
tooltip="Choose and manage the slots for your trigger. You can create or delete slots. Both non-active slots and the currently used slot by the trigger (if any) will be retrieved from your database for management."
|
|
467
|
+
documentationLink="https://www.windmill.dev/docs/core_concepts/postgres_triggers#managing-postgres-replication-slots"
|
|
468
|
+
>
|
|
469
|
+
<div class="flex flex-col gap-3">
|
|
470
|
+
<ToggleButtonGroup
|
|
471
|
+
bind:selected={selectedSlotAction}
|
|
472
|
+
on:selected={() => {
|
|
473
|
+
replication_slot_name = ''
|
|
474
|
+
}}
|
|
475
|
+
disabled={!can_write}
|
|
476
|
+
let:item
|
|
477
|
+
>
|
|
478
|
+
<ToggleButton value="create" label="Create Slot" {item} />
|
|
479
|
+
<ToggleButton value="get" label="Get Slot" {item} />
|
|
480
|
+
</ToggleButtonGroup>
|
|
481
|
+
{#if selectedSlotAction === 'create'}
|
|
482
|
+
<div class="flex gap-3">
|
|
483
|
+
<input
|
|
484
|
+
type="text"
|
|
485
|
+
bind:value={replication_slot_name}
|
|
486
|
+
placeholder={'Choose a slot name'}
|
|
487
|
+
/>
|
|
488
|
+
<Button
|
|
489
|
+
color="light"
|
|
490
|
+
size="xs"
|
|
491
|
+
variant="border"
|
|
492
|
+
disabled={emptyStringTrimmed(replication_slot_name)}
|
|
493
|
+
on:click={createSlot}>Create</Button
|
|
494
|
+
>
|
|
495
|
+
</div>
|
|
496
|
+
{:else}
|
|
497
|
+
<SlotPicker
|
|
498
|
+
bind:edit
|
|
499
|
+
{postgres_resource_path}
|
|
500
|
+
bind:replication_slot_name
|
|
501
|
+
/>
|
|
502
|
+
{/if}
|
|
503
|
+
</div>
|
|
504
|
+
</Section>
|
|
505
|
+
|
|
506
|
+
<Section
|
|
507
|
+
small
|
|
508
|
+
label="Publication"
|
|
509
|
+
tooltip="Select and manage the publications for tracking data. You can create, update, or delete publications. Only existing publications in your database will be available for selection, giving you full control over what data is tracked."
|
|
510
|
+
documentationLink="https://www.windmill.dev/docs/core_concepts/postgres_triggers#managing-postgres-publications"
|
|
511
|
+
>
|
|
512
|
+
<div class="flex flex-col gap-3">
|
|
513
|
+
<ToggleButtonGroup
|
|
514
|
+
selected={selectedPublicationAction}
|
|
515
|
+
disabled={!can_write}
|
|
516
|
+
on:selected={({ detail }) => {
|
|
517
|
+
selectedPublicationAction = detail
|
|
518
|
+
if (selectedPublicationAction === 'create') {
|
|
519
|
+
selectedTable = 'specific'
|
|
520
|
+
publication_name = `windmill_publication_${random_adj()}`
|
|
521
|
+
relations = [{ schema_name: 'public', table_to_track: [] }]
|
|
522
|
+
return
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
publication_name = ''
|
|
526
|
+
relations = []
|
|
527
|
+
transaction_to_track = []
|
|
528
|
+
}}
|
|
529
|
+
let:item
|
|
530
|
+
>
|
|
531
|
+
<ToggleButton value="create" label="Create Publication" {item} />
|
|
532
|
+
<ToggleButton value="get" label="Get Publication" {item} />
|
|
533
|
+
</ToggleButtonGroup>
|
|
534
|
+
{#if selectedPublicationAction === 'create'}
|
|
535
|
+
<div class="flex gap-3">
|
|
536
|
+
<input
|
|
537
|
+
disabled={!can_write}
|
|
538
|
+
type="text"
|
|
539
|
+
bind:value={publication_name}
|
|
540
|
+
placeholder={'Publication Name'}
|
|
541
|
+
/>
|
|
542
|
+
<Button
|
|
543
|
+
color="light"
|
|
544
|
+
size="xs"
|
|
545
|
+
variant="border"
|
|
546
|
+
disabled={emptyStringTrimmed(publication_name) ||
|
|
547
|
+
(selectedTable != 'all' && relations.length === 0) ||
|
|
548
|
+
!can_write}
|
|
549
|
+
on:click={createPublication}>Create</Button
|
|
550
|
+
>
|
|
551
|
+
</div>
|
|
552
|
+
{:else}
|
|
553
|
+
<PublicationPicker
|
|
554
|
+
{can_write}
|
|
555
|
+
{postgres_resource_path}
|
|
556
|
+
bind:transaction_to_track
|
|
557
|
+
bind:relations
|
|
558
|
+
bind:items={publicationItems}
|
|
559
|
+
bind:publication_name
|
|
560
|
+
bind:selectedTable
|
|
561
|
+
/>
|
|
562
|
+
{/if}
|
|
563
|
+
<RelationPicker {can_write} bind:selectedTable bind:relations />
|
|
564
|
+
</div>
|
|
565
|
+
</Section></div
|
|
566
|
+
>
|
|
567
|
+
</TabContent>
|
|
568
|
+
</div>
|
|
569
|
+
</svelte:fragment>
|
|
570
|
+
</Tabs>
|
|
571
|
+
</Label>
|
|
572
|
+
{/if}
|
|
573
|
+
</div>
|
|
574
|
+
</Section>
|
|
575
|
+
</div>
|
|
576
|
+
{/if}
|
|
577
|
+
</DrawerContent>
|
|
578
|
+
</Drawer>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
openEdit?: ((ePath: string, isFlow: boolean) => Promise<void>) | undefined;
|
|
5
|
+
openNew?: ((nis_flow: boolean, fixedScriptPath_?: string, defaultValues?: Record<string, any>) => Promise<void>) | undefined;
|
|
6
|
+
};
|
|
7
|
+
events: {
|
|
8
|
+
update: CustomEvent<any>;
|
|
9
|
+
} & {
|
|
10
|
+
[evt: string]: CustomEvent<any>;
|
|
11
|
+
};
|
|
12
|
+
slots: {};
|
|
13
|
+
};
|
|
14
|
+
export type PostgresTriggerEditorInnerProps = typeof __propDef.props;
|
|
15
|
+
export type PostgresTriggerEditorInnerEvents = typeof __propDef.events;
|
|
16
|
+
export type PostgresTriggerEditorInnerSlots = typeof __propDef.slots;
|
|
17
|
+
export default class PostgresTriggerEditorInner extends SvelteComponent<PostgresTriggerEditorInnerProps, PostgresTriggerEditorInnerEvents, PostgresTriggerEditorInnerSlots> {
|
|
18
|
+
get openEdit(): (ePath: string, isFlow: boolean) => Promise<void>;
|
|
19
|
+
get openNew(): (nis_flow: boolean, fixedScriptPath_?: string | undefined, defaultValues?: Record<string, any> | undefined) => Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
export {};
|